最赞回答 / 青春因你而精彩
例如输入一个int类型的数据,这种类型的数据占据了4个字节(00000000 0000000 00000000 00000000)(从左向右:高—>地)存储格式 而write中()方法一次性的只能写进去8位,即一个字节(00000000),故此从高位至地位一次写入,写四次。 不太懂你到底想要知道什么?按自己理解的说的,不足勿怪。
2016-05-19
最赞回答 / Jarly杰
在序列化过程中,如果被序列化的类中定义了writeObject 和 readObject 方法,虚拟机会试图调用对象类里的 writeObject 和 readObject 方法,进行用户自定义的序列化和反序列化。如果没有这样的方法,则默认调用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。用户自定义的 writeObject 和 readObject 方法可以允许用户控制序列化...
2016-05-19
已采纳回答 / 阿甘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