Java 为什么我不';不存在NotSerializableException吗?
为什么我没有Java 为什么我不';不存在NotSerializableException吗?,java,serializable,externalizable,Java,Serializable,Externalizable,为什么我没有NotSerializableException原因是在序列化的类A中我有未序列化的privateb,我知道如果类实现Serializable所有组合类也必须实现Serializable/Externalizable import java.io.*; public class Test { public static void main(String[] args) throws IOException { FileOutputStream fil
NotSerializableException
原因是在序列化的类A
中我有未序列化的privateb
,我知道如果类实现Serializable
所有组合类也必须实现Serializable
/Externalizable
import java.io.*;
public class Test
{
public static void main(String[] args) throws IOException
{
FileOutputStream fileOutput = new FileOutputStream("a.dat");
ObjectOutputStream outputStream = new ObjectOutputStream(fileOutput);
outputStream.writeObject(new A());
fileOutput.close();
outputStream.close();
}
}
class A implements Serializable
{
private int age;
private B b;
}
class B
{
}
序列化
newa()
时,b
为null
所以没有b
运行时类型很重要-例如,您可以让类B驱动扩展B实现java.ui.Serializable
。或者可以从列表
字段引用序列化数组列表
如果使用非null、非可序列化类型初始化b
,则可以看到异常。比如说
private B b = new B();