詹士
2015-10-03 19:10
我遇到这么一种情况:
假设我把student类的toString方法重写成返回“修改前”三个字,然后我把对象序列化后写入文件XXX,然后我按老师的方法把其反序列化再读出,打印出来后,那么控制台自然显示“修改前”。 然后,我把student的toString方法改了一下,写成返回“修改后”三个字。 那么这个时候,我并没有把这个修改后的新student重新序列化写入文件(我把写入功能的代码注释掉了),而是直接再读了一下XXX这个文件,发现它打印输出已经变成“修改后”这三个字了。 这是不是说明,在修改Student的代码之后,我不需要重新把新的对象写入文件,文件自己就会变成新的对象信息了????这不科学啊。
按照我的理解,要把新的对象信息写入文件,文件里面的对象信息才会改变啊,现在它自动改变了是什么鬼?
看来你没有理解toString()这个方法的含义 建议搜几篇文章看看
按照你这里的思路 你注释掉读这个文件的操作 直接调用toString()这个方法也是输出"修改后"
文件传输基础——Java IO流
133754 学习 · 1030 问题
相似问题