範例


public class ResolveObject implements Serializable {

public static ResolveObject getInstance() {
return INSTANCE;
}

private static final ResolveObject INSTANCE = new ResolveObject();

private ResolveObject() {
super();
}

public Object readResolve() throws ObjectStreamException {
return INSTANCE;
}

static final long serialVersionUID = 123;

}
解決方案
將 resolveObject() and writeReplace() 宣告為 protected。


public class ResolveObject implements Serializable {

public static ResolveObject getInstance() {
return INSTANCE;
}

private static final ResolveObject INSTANCE = new ResolveObject();

private ResolveObject() {}

private Object readResolve() throws ObjectStreamException {
return INSTANCE;
}

static final long serialVersionUID = 123;


}