当前位置: 首页 > news >正文

如何查询网站收录情况手游网络游戏排行榜

如何查询网站收录情况,手游网络游戏排行榜,哪些网站用echarts做的,一诺网站建设条目13#xff1a;谨慎重写clone方法 浅拷贝和深拷贝 浅拷贝#xff08;Shallow Copy#xff09; 浅拷贝 只复制对象本身#xff0c;而不复制对象引用的成员。 对于引用类型的字段#xff0c;浅拷贝会将原对象的引用复制到新对象中#xff0c;而不会创建新对象实例。因… 条目13谨慎重写clone方法 浅拷贝和深拷贝 浅拷贝Shallow Copy 浅拷贝 只复制对象本身而不复制对象引用的成员。 对于引用类型的字段浅拷贝会将原对象的引用复制到新对象中而不会创建新对象实例。因此原对象和拷贝对象中的引用字段将指向相同的内存地址。 浅拷贝的特点 复制对象的时候如果是基本数据类型会被完全复制。对于引用数据类型比如数组集合自定义对象等都是复制引用而不是实际的数据对象。浅拷贝通常是通过Object.clone()方法实现的。 示例 class Person {String name;int[] age;public Person(String name, int[] age) {this.name name;this.age age;}// 浅拷贝public Person shallowCopy() {try {Person cloned (Person) super.clone(); // 复制对象return cloned;} catch (CloneNotSupportedException e) {e.printStackTrace();return null;}} }public class Main {public static void main(String[] args) {int[] ages {25, 30, 35};Person person1 new Person(John, ages);// 浅拷贝Person person2 person1.shallowCopy();// 修改 person2 的 age 数组person2.age[0] 40;System.out.println(person1s age: person1.age[0]); // 40System.out.println(person2s age: person2.age[0]); // 40} }person1 和 person2 的 age 数组是共享的因为浅拷贝仅复制了 age 数组的引用。当 person2 修改了 age[0] 的值时person1 的 age[0] 也发生了变化。 深拷贝 深拷贝是指不仅复制对象本身还递归地复制对象所引用的所有对象。 深拷贝的特点 深拷贝会复制对象及其所有引用对象。每个引用类型字段都会被复制为一个全新的实例因此原对象和拷贝对象中的引用字段指向不同的内存地址。深拷贝通常需要手动实现尤其是在对象中包含其他引用类型。 示例 class Person implements Cloneable {String name;int[] age;public Person(String name, int[] age) {this.name name;this.age age;}// 深拷贝Overridepublic Person clone() {try {Person cloned (Person) super.clone(); // 复制对象cloned.age this.age.clone(); // 深拷贝数组return cloned;} catch (CloneNotSupportedException e) {e.printStackTrace();return null;}} }public class Main {public static void main(String[] args) {int[] ages {25, 30, 35};Person person1 new Person(John, ages);// 深拷贝Person person2 person1.clone();// 修改 person2 的 age 数组person2.age[0] 40;System.out.println(person1s age: person1.age[0]); // 25System.out.println(person2s age: person2.age[0]); // 40} }person1 和 person2 的 age 数组是完全独立的因为我们在 clone() 方法中对 age 数组进行了深拷贝。修改 person2 的 age[0] 不会影响 person1 的 age[0]。 Coneable接口 clone() 方法是 Object 类的一部分因此所有的 Java 类都可以通过实现 Cloneable 接口来使得自己支持克隆。然而问题在于 Cloneable 接口本身并没有提供任何方法它只是一个标志表示该类允许被克隆。要想正确的实现克隆需要我们需要在类中覆盖 clone() 方法。如果直接使用弗雷的clone()方法可能会在某些情况下得到不符合预期的结果。 建议 考虑使用构造函数代替clone()方法如果决定重写clone()方法需要调用super.clone()来确保父类对象的字段也会被复制如果没有可能会导致父类无法正确的被克隆。如果要处理字段是引用类型对象的情况时需要对这些字段创建新的实例从而确保是深拷贝。clone() 方法必须声明为 public因为它是从 Object 类继承来的默认是 protected因此在覆盖时需要改变它的访问修饰符。clone() 方法必须抛出 CloneNotSupportedException 异常这是因为 Cloneable 接口并不是强制要求实现的如果一个类没有实现 Cloneable 接口而调用 clone()将会抛出这个异常。要么完全重写要么不重写。如果重写的话就需要全面考虑所有的字段。特别是当对象包含复杂的嵌套结构时确保每一个引用字段都能正确的被复制。复制最好通过构造器或者工厂来提供。
http://www.w-s-a.com/news/999174/

相关文章:

  • 网页设计网站作业外贸出口流程步骤
  • 成都网站推广公司排名网站建设首选 云端高科
  • 网站怎么增加流量找网络推广策畿
  • 网站描述范例做网站好看的旅行背景图片
  • 网上商城开发网站建设宣传网站设计
  • 免费的开源网站wordpress建站不好用
  • 陕西建设厅人才网站ai生成logo免费
  • 建设家居网站村建站什么部门
  • 网站建设+青海龙岗区网站建设
  • 精品课网站建设网络公司名字怎么取
  • 化工网站制作用户体验设计案例
  • 如何在微信公众平台上建立微网站垂直门户网站怎么做
  • 关于销售网站有哪些内容品牌网站建设小科6a蚪
  • 免费制作网站平台哪个好湖南企业建网站
  • 灞桥微网站建设株洲百姓网
  • 儿童网站建设互联网怎么学
  • 重庆建网站的公司集中在哪里中煤第五建设有限公司网站
  • 成都网站建设987net运维需要掌握哪些知识
  • 网站建设师个人简介怎么写WordPress头像美化插件
  • 网站优化知识销售管理系统c语言
  • 桂林市网站设计厦门自己建网站
  • 网站seo哪里做的好东莞做网站优化的公司
  • 休闲采摘园网站建设政务公开和网站建设工作的建议
  • 长沙网站建设哪个公司好PHP amp MySQL网站建设宝典
  • 代码编辑器做热点什么网站好湛江网站建设哪家好
  • php网站开发概念网站开发岗位职责任职责格
  • asp 网站源码 下载西安自适应网站建设
  • 白领兼职做网站贵阳网站设计哪家好
  • 热水器网站建设 中企动力企业网站开发需要多钱
  • 北京市建设工程信息网交易网站静态网页模板免费下载网站