java为什么可以序列化属性而不能序列化对象本身?
我正在开发一个小测验工具,当我想要坚持我的对象(问题)时,我会面临一些问题。这是我在类问题中的save方法,它导入“java.io.*”:
public static boolean saveQuestion(String file, Question q){
try{
FileOutputStream saveFile=new FileOutputStream(file);
ObjectOutputStream save = new ObjectOutputStream(saveFile);
save.writeObject(q);
save.close();
return true;
}
catch(Exception exc){
exc.printStackTrace();
return false;
}
}
这是我从另一个类调用该方法的方式:
Question q = new Question();
Question.saveQuestion("question.sav",q);
当我尝试运行它时,它在save.writeObject(q);
处抛出一个“java.io.NotSerializableException”
当我更改代码以便只存储对象的属性时,它工作正常。有什么问题吗
# 1 楼答案
要序列化对象,类需要
implements Serializable