已采纳回答 / 阿甘LG
序列化和反序列化可以同时操作,比如读取文件1里的内容后,再把该文件1的内容拷贝(写入)到文件2里去,这样就需要同时操作输入和输出,输出表示序列化,输入表示反序列化。老师为运行程序方便才每次运行都要把另一个操作注释掉,不然可能运行出现某些错误。
2016-05-13
已采纳回答 / 慕粉3291149
因为 你是 Bar2 bar2 = new Bar2(); bar2 = (Bar2)ois.readObject();但是老师写的是 Bar2 bar2 = (Bar2)ois.readObject(); 这里要注意的是 老师并没有去new一个Bar2对象而你却是先new出来的 肯定会调用父类的构造函数
2016-05-07
最新回答 / hzhu
序列化主要是为了方便将对象保存到文件或进行网络传输,所以对文件大小和效率有较高的要求。默认序列化会把对象的所有字段都予以保存,自己序列化就可以去掉一些冗余的不需要保存或传输的部分,能够提高效率
2016-05-07
已采纳回答 / 圊涩的苹果
跟直接输出字符数组的结果是不一样的。至于为什么要转换成字符串输出个人认为是因为是如果是你单单拿字符数组来输出的时候由于字符数据之间没有明显的分隔的界限,导致输出的字符是不一致的。而c是返回的是读到的字符的个数,用String来转换成所读到的字符来输出就可以很明显的分隔出来。以上只是个人愚见,有些地方说的可能不太清楚,欢迎来指正与讨论
2016-05-05