这里首先要确定一件事,内存中将对象作为参数传递其实只是传递对象的引用(指针)。
就如我们熟知的继承,并非是将父类对象保存在子类对象中,而是子类对象包含了父类的引用。
在Java内部,继承是通过隐式的组合实现的。子类对象中会保存一个实例对象的引用super,引用指向其父类。
实际的方法调用中,java会优先在当前类对象中寻找名称相同的方法,如果没有,进根据super引用到父类对象中去寻找,所以,如果父类方法在子类中得到重写,java会调用子类的方法,而不会调用被重写的父类方法。
这也是多态的实现机制。
到这里,基本就明白了,内存传来传去的都是地址而已,如果直接将其直接存库,到时候内存又经过刷洗,你从库中取出来的地址无疑是刻舟求剑。
java的优势在于跨平台,尤其在分布式环境中,传递对象是非常普遍的,既然涉及到了传输,势必有相应的协议,序列化就是为了解决这个问题而提出的。
对序列化的理解
最新推荐文章于 2021-04-16 17:46:40 发布