有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    要序列化对象,类需要implements Serializable