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

来源:6-1 序列化基本操作

詹士

2015-10-03 19:10

我遇到这么一种情况:

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

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

写回答 关注

1回答

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

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

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

    詹士

    非常感谢!

    2015-11-01 12:20:40

    共 1 条回复 >

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题