问答详情
源自:6-1 序列化基本操作

关于写入的文件修改的问题

我遇到这么一种情况:

假设我把student类的toString方法重写成返回“修改前”三个字,然后我把对象序列化后写入文件XXX,然后我按老师的方法把其反序列化再读出,打印出来后,那么控制台自然显示“修改前”。       然后,我把student的toString方法改了一下,写成返回“修改后”三个字。  那么这个时候,我并没有把这个修改后的新student重新序列化写入文件(我把写入功能的代码注释掉了),而是直接再读了一下XXX这个文件,发现它打印输出已经变成“修改后”这三个字了。      这是不是说明,在修改Student的代码之后,我不需要重新把新的对象写入文件,文件自己就会变成新的对象信息了????这不科学啊。

按照我的理解,要把新的对象信息写入文件,文件里面的对象信息才会改变啊,现在它自动改变了是什么鬼?

提问者:詹士 2015-10-03 19:10

个回答

  • SolaSJ
    2015-10-26 18:47:38
    已采纳

    看来你没有理解toString()这个方法的含义 建议搜几篇文章看看

    按照你这里的思路 你注释掉读这个文件的操作 直接调用toString()这个方法也是输出"修改后"