關(guān)于寫(xiě)入的文件修改的問(wèn)題
我遇到這么一種情況:
假設(shè)我把student類(lèi)的toString方法重寫(xiě)成返回“修改前”三個(gè)字,然后我把對(duì)象序列化后寫(xiě)入文件XXX,然后我按老師的方法把其反序列化再讀出,打印出來(lái)后,那么控制臺(tái)自然顯示“修改前”。 ? ? ? 然后,我把student的toString方法改了一下,寫(xiě)成返回“修改后”三個(gè)字。 ?那么這個(gè)時(shí)候,我并沒(méi)有把這個(gè)修改后的新student重新序列化寫(xiě)入文件(我把寫(xiě)入功能的代碼注釋掉了),而是直接再讀了一下XXX這個(gè)文件,發(fā)現(xiàn)它打印輸出已經(jīng)變成“修改后”這三個(gè)字了。 ? ? ?這是不是說(shuō)明,在修改Student的代碼之后,我不需要重新把新的對(duì)象寫(xiě)入文件,文件自己就會(huì)變成新的對(duì)象信息了????這不科學(xué)啊。
按照我的理解,要把新的對(duì)象信息寫(xiě)入文件,文件里面的對(duì)象信息才會(huì)改變啊,現(xiàn)在它自動(dòng)改變了是什么鬼?
2015-10-26
看來(lái)你沒(méi)有理解toString()這個(gè)方法的含義 建議搜幾篇文章看看
按照你這里的思路 你注釋掉讀這個(gè)文件的操作 直接調(diào)用toString()這個(gè)方法也是輸出"修改后"