深克隆、toString方法与多态

简介:

深克隆:

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

wKiom1nnkCeQhV0WAAn_PeRqShI046.png

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

  深克隆与浅克隆区别:


wKiom1nnkCrQAlkTAAWmELSUOvk963.png


深克隆代码示例:

wKioL1nnjXzD3T-HAA1iqLJCbto202.png

wKiom1nnkDuTEK5tAA8LuLIV-Wk651.png

wKioL1nnjYrxedFeAAi1pX1JuWo627.png



toString方法:

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

wKioL1nnjY3g_e6AAAPDPf-Bdzk053.png

wKiom1nnkEfDIu_DAAe6Ft74kSo554.png



多态:

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

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

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

 

代码示例:

wKiom1nnkE7Ca4OKAAvcVOgKpdU897.png

wKioL1nnjZ_BTai_AAti4XbvgPo734.png

wKiom1nnkFzC4KpQAAwhtPe3J_0540.png

wKioL1nnja2Q_9LaAAvcVGO8Af4694.png


运行类:

wKiom1nnkGqxGC_yAA0l-CuI7O0412.png



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

相关文章
|
存储 Cloud Native API
C++ QT监测可执行文件exe是否运行
C++ QT监测可执行文件exe是否运行
|
5月前
|
机器学习/深度学习 并行计算 PyTorch
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题,分析其根源为预编译二进制文件不支持sm_120架构,并提出解决方案:使用PyTorch Nightly版本、更新CUDA工具包至12.8。通过清理环境并安装支持新架构的组件,成功解决兼容性问题。文章总结了深度学习环境中硬件与框架兼容性的关键策略,强调Nightly构建版本和环境一致性的重要性,为开发者提供参考。
2525 64
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
|
11月前
|
Web App开发 前端开发 测试技术
Selenium 4新特性解析:关联定位器及其他创新功能
【10月更文挑战第6天】Selenium 是一个强大的自动化测试工具,广泛用于Web应用程序的测试。随着Selenium 4的发布,它引入了许多新特性和改进,使得编写和维护自动化脚本变得更加容易。本文将深入探讨Selenium 4的一些关键新特性,特别是关联定位器(Relative Locators),以及其他一些重要的创新功能。
710 2
|
10月前
|
监控 前端开发 测试技术
如何使用 Tree Shaking 进行代码优化
Tree Shaking 是一种通过去除未使用的代码来优化项目打包体积的技术,在现代前端开发中被广泛应用
|
6月前
|
程序员
HarmonyOS NEXT 实战系列05-案例回关粉丝
本文介绍了一个基于HarmonyOS的组件化设计案例,通过提取 `FansItemComp` 组件实现复用,使用 `@Prop` 动态接收数据渲染UI。示例中包含关注与互关功能:父组件 `TestPage` 提供粉丝列表数据,封装 `getFansAndFollowCount` 方法统计互关人数;子组件通过按钮交互更新关注状态,并利用 `onChange` 回调通知父组件同步数据变化。代码结构清晰,展示了组件间通信及动态渲染的实现方式。
|
监控 IDE Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第30天】 在现代软件开发中,多线程编程是提高应用程序性能和响应能力的关键。特别是在Java这样的多平台、多用途的编程语言中,掌握多线程技术至关重要。本文旨在为读者提供有关Java多线程编程的全面介绍,从基本概念到高级应用技巧,帮助初学者和有经验的开发者理解并有效使用多线程。文章不仅涉及基础理论,还包括代码示例和最佳实践,确保读者能够将知识应用于实际项目中。
|
敏捷开发 监控 Java
深入理解与应用软件自动化测试框架
【4月更文挑战第27天】 在软件开发的生命周期中,确保代码质量和功能的正确性是至关重要的。随着敏捷开发方法的普及和产品迭代速度的加快,传统的手动测试方法已经难以满足快速交付的需求。本文将重点讨论软件自动化测试框架的构建与实施,旨在为读者提供一种提高测试效率、确保测试质量的有效途径。我们将介绍自动化测试的基本概念、关键优势以及面临的挑战,并通过具体的案例分析,展示如何根据项目特点选择合适的测试框架,以及如何设计、执行和维护自动化测试脚本。
|
前端开发 程序员 PHP
程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
程序员还在为变量取名苦恼,那是因为你不知道,这个变量命名神器
361 0
|
Ubuntu 安全 网络协议
SSH 服务器、NFS 服务器、TFTP 服务器详解及测试
SSH 是 Secure Shell 的缩写,是建立在应用层和传输层基础上的安全协议,能够有效防止远程管理过程中的信息泄露问题。
674 1
|
Linux PyTorch 开发工具
YOLOv5-GPU Jetson Nano 部署教程
本文主要介绍我如何在Jetson Nano上部署基于pytorch-gpu的yolov5目标检测模型。
YOLOv5-GPU Jetson Nano 部署教程