在文档中说 readExternal() 和 writeExternal() 具有默认访问修饰符,我也使用默认访问修饰符实现它,但不知何故我有 2 个错误说我分配了较弱的访问修饰符?那为什么呢?(我知道使用默认修饰符我不能从其他包中序列化/反序列化对象)
错误1:
错误:(19, 10) java: readExternal(java.io.ObjectInput) in A 无法在 java.io.Externalizable 中实现 readExternal(java.io.ObjectInput) 尝试分配较弱的访问权限;是公开的
错误2:
错误:(16, 10) java: writeExternal(java.io.ObjectOutput) in A 无法实现 java.io.Externalizable 中的 writeExternal(java.io.ObjectOutput) 尝试分配较弱的访问权限;是公开的
class A implements Externalizable
{
public A() {}
@Override
void writeExternal(ObjectOutput out) throws IOException {}
@Override
void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {}
}