为什么我可以序列化属性而不是对象本身?

时间:2016-03-11 23:05:09

标签: java exception serializable

当我想要保留我的对象(问题)时,我正在研究一个小测验工具并面临问题。这是我在类Question中的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);

当我尝试运行它时,会抛出一个" java.io.NotSerializableException"在save.writeObject(q);

当我更改代码以便只存储对象的属性时,它可以正常工作。可能是什么问题?

1 个答案:

答案 0 :(得分:1)

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