This commit is contained in:
Chris Smowton
2025-01-06 22:46:22 +01:00
committed by GitHub
parent d0eab598b1
commit 03c6529961
2 changed files with 5 additions and 5 deletions

View File

@@ -1 +1 @@
| Test.java:12:7:12:7 | A | This class is serializable, but its non-serializable super-class $@ does not declare a no-argument constructor. | Test.java:4:7:4:20 | NonSerialzable | NonSerialzable |
| Test.java:12:7:12:7 | A | This class is serializable, but its non-serializable super-class $@ does not declare a no-argument constructor. | Test.java:4:7:4:21 | NonSerializable | NonSerializable |

View File

@@ -1,21 +1,21 @@
import java.io.ObjectStreamException;
import java.io.Serializable;
class NonSerialzable {
class NonSerializable {
// Has no default constructor
public NonSerialzable(int x) { }
public NonSerializable(int x) { }
}
// BAD: Serializable but its parent cannot be instantiated
class A extends NonSerialzable implements Serializable {
class A extends NonSerializable implements Serializable {
public A() { super(1); }
}
// GOOD: writeReplaces itself, so unlikely to be deserialized
// according to default rules.
class B extends NonSerialzable implements Serializable {
class B extends NonSerializable implements Serializable {
public B() { super(2); }
public Object writeReplace() throws ObjectStreamException {