天天看点

深克隆、toString方法与多态

深克隆:

 深克隆是把克隆对象的引用对象也一并克隆出来。

<a href="https://s5.51cto.com/wyfs02/M01/08/D4/wKiom1nnkCeQhV0WAAn_PeRqShI046.png" target="_blank"></a>

  克隆出来的对象也有自己的引用对象,浅克隆则是克隆出来的对象共用一个引用。

  深克隆与浅克隆区别:

<a href="https://s2.51cto.com/wyfs02/M00/08/D4/wKiom1nnkCrQAlkTAAWmELSUOvk963.png" target="_blank"></a>

深克隆代码示例:

<a href="https://s2.51cto.com/wyfs02/M02/A7/83/wKioL1nnjXzD3T-HAA1iqLJCbto202.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/08/D4/wKiom1nnkDuTEK5tAA8LuLIV-Wk651.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/A7/83/wKioL1nnjYrxedFeAAi1pX1JuWo627.png" target="_blank"></a>

toString方法:

  该方法用于返回一个字符串类型,字符串与任何数据类型相加都只是连接,而不是参与运算。打印字符串的时候就会自动调用toString方法,对象与String类型相关的操作都会自动调用toString方法。例如:

<a href="https://s4.51cto.com/wyfs02/M00/A7/83/wKioL1nnjY3g_e6AAAPDPf-Bdzk053.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/08/D4/wKiom1nnkEfDIu_DAAe6Ft74kSo554.png" target="_blank"></a>

多态:

  多态就是让子类对象可以装扮成父类,并且不会被发现调用的是子类对象以为调用的是父类,但是子类还是子类,父类还是父类

  它的优点是可以令程序更具有可升级、可扩展性,多态是以面向父类作为编程思想利用父类作为框架模板,具体功能的则由子类去实现,因此程序需要进行更改、替换、升级等功能时,在子类里编写或增删即可,不会影响到父类,更方便了日后程序的维护和扩展编写。

  由此可知多态,是让程序更具有长远发展性的一种代码编写方式。

代码示例:

<a href="https://s1.51cto.com/wyfs02/M02/08/D4/wKiom1nnkE7Ca4OKAAvcVOgKpdU897.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/A7/83/wKioL1nnjZ_BTai_AAti4XbvgPo734.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/08/D4/wKiom1nnkFzC4KpQAAwhtPe3J_0540.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/A7/83/wKioL1nnja2Q_9LaAAvcVGO8Af4694.png" target="_blank"></a>

运行类:

<a href="https://s2.51cto.com/wyfs02/M00/08/D4/wKiom1nnkGqxGC_yAA0l-CuI7O0412.png" target="_blank"></a>

本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1974052,如需转载请自行联系原作者

继续阅读