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

舟山建站企业网站建站方案

舟山建站,企业网站建站方案,wordpress 文章id连续,企业网站模板用哪个作者简介#xff1a; zoro-1#xff0c;目前大一#xff0c;正在学习Java#xff0c;数据结构等 作者主页#xff1a; zoro-1的主页 欢迎大家点赞 #x1f44d; 收藏 ⭐ 加关注哦#xff01;#x1f496;#x1f496; 浅拷贝与深拷贝 浅拷贝浅拷贝定义浅拷贝代码演示浅… 作者简介 zoro-1目前大一正在学习Java数据结构等 作者主页 zoro-1的主页 欢迎大家点赞 收藏 ⭐ 加关注哦 浅拷贝与深拷贝 浅拷贝浅拷贝定义浅拷贝代码演示浅拷贝的特点 深拷贝深拷贝定义深拷贝代码演示深拷贝特点 浅拷贝 之前我们学了数组的拷贝那么对象如何进行拷贝呢 浅拷贝定义 浅拷贝是一种复制对象的方法在这种方法中只复制对象的引用或指针而不是对象本身的内容。 浅拷贝代码演示 class Hia{int a6; } class Animal {String nameanimal;int age0;Hia hianew Hia();public Animal(String name, int age) {this.name name;this.age age;}Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();} } public class Text4 {public static void main(String[] args) throws CloneNotSupportedException {Animal dognew Animal(dog,5);Animal dogcopy(Animal) dog.clone();} } 代码讲解 初始化Animal类为dog对象现在想要copy一份dog对象就要了解clone方法他是object类里面的方法也就是Animal的父类的方法因为所有类都是继承object类这个类是由protected修饰所以我们不能直接调用他的最大访问权限是不同包下的子类对象且只能用super访问所以要在定义一个不带static修饰的方法下面访问我这里采用的是重写父类的clone方法返回super.clone();clone的返回值对象是object所以要强转为(Animal); 上面的代码运行出来结果还是错的 原因是在java里面只有实现Cloneable接口才说明这个类是支持拷贝的虽然这个接口什么都没有); 浅拷贝的特点 特点是他只是将你类里面的变量的值赋值下来不会将你成员对象引用的也赋值一份下面这个图就能很好解释 当然我们也可以用代码直观的看出来 public class Text4 {public static void main(String[] args) throws CloneNotSupportedException {Animal dognew Animal(dog,5);Animal dogcopy(Animal) dog.clone();System.out.println(dog.hia.a);System.out.println(dogcopy.hia.a);dog.hia.a9;System.out.println(dog.hia.a);System.out.println(dogcopy.hia.a);} }通过运行结果可以看出来我们发现该变原对象的hia.a复制的对象的hia.a也发生了改变这说明复制后的hia和前面指向的是同一个引用 想要将复制里面的引用也复制一份就要用到深拷贝 深拷贝 深拷贝定义 深拷贝是指在拷贝一个对象时创建一个新的对象并将原对象的所有属性值都复制到新对象中而不是简单地复制对象的引用地址。因此在深拷贝后两个对象之间是完全独立的互不影响。深拷贝通常用于需要完全复制原对象的情况例如在多线程环境下操作对象时为了避免不同线程间共享对象导致的数据冲突就需要使用深拷贝。深拷贝是指在拷贝一个对象时创建一个新的对象并将原对象的所有属性值都复制到新对象中而不是简单地复制对象的引用地址。 深拷贝代码演示 class Hia implements Cloneable{int a6;Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();} } class Animal implements Cloneable{String nameanimal;int age0;Hia hianew Hia();public Animal(String name, int age) {this.name name;this.age age;}Overrideprotected Object clone() throws CloneNotSupportedException {Animal animal(Animal) super.clone();animal.hia(Hia) animal.hia.clone();return animal;} } public class Text4 {public static void main(String[] args) throws CloneNotSupportedException {Animal dognew Animal(dog,5);Animal dogcopy (Animal) dog.clone();System.out.println(dog.hia.a);System.out.println(dogcopy.hia.a);dog.hia.a9;System.out.println(dog.hia.a);System.out.println(dogcopy.hia.a);} } 代码解释 我的理解是深拷贝是两层浅拷贝现将对象进行一次拷贝然后再将dog对象里面的引用对象拷贝一份赋值给新的对象的里面的引用对象譬如上面的代码重写的clone()方法里面先super.clone()复制一份当前类的对象然后类里面的引用类型Hia调用clone()复制一份再赋值给animal.hia那现在animal就是就是彻底的拷贝了然后返回animal然后改变dog类里面的hia.a打印输出只有dog类里面的改变了 深拷贝特点 深拷贝是一种复制数据的方式它会创建一个完全独立的副本而不是原始数据的引用。深拷贝的特点如下 完全独立深拷贝会创建一个全新的对象而不是原对象的引用。 完整复制深拷贝会复制所有的属性和方法包括对象的嵌套属性和方法。 递归复制如果对象有嵌套属性或方法深拷贝会递归复制嵌套对象的属性和方法。 不受原对象改变影响因为深拷贝生成的对象完全独立所以它不会受到原对象的更改的影响。 需要注意的是深拷贝可能会导致性能问题特别是当数据结构非常复杂时。因为深拷贝会复制所有的属性和方法包括对象的嵌套属性和方法所以可能需要花费大量的时间和内存来完成。 今天的分享到这里就结束了感谢大家支持创作不易希望大家能给博主个三连
http://www.dnsts.com.cn/news/61229.html

相关文章:

  • 建设一个小网站赚钱吗免费手机照片恢复软件
  • 网站前端开发得会什么软件目前主流的网站开发语言
  • 德化县住房和城乡建设局网站wordpress 对象储存
  • 品牌网站搭建北京一网数据软件有限公司
  • 长春火车站到龙嘉机场高铁时刻表有了域名怎样做网站
  • wordpress视频主题吾爱破解贵阳seo排名
  • 东营网站推广昵图网素材图库免费下载
  • 上传文章的网站网站租空间多少钱一年
  • 优质企业网站建设建设银行官网登录入口
  • wordpress主题enfold闸北网站优化公司
  • 网站建设客户定位第三方网站系统建设
  • 网站咨询界面设计wordpress做漫画
  • 网站建设资质备案长宁区网站制作
  • 网页设计制作网站用什么软件简述做个人网页的思路
  • 做推广哪个食品网站好上海网站建设公司
  • 平顶山有做网站的公司外贸网站建设企业
  • 网站被搜索引擎收录哪个网站做螺丝生意好
  • 深圳网站开发是什么响应式网站设计布局
  • 房产行业微网站建设免费一卡二卡三
  • 用rp怎么做网站按钮下拉菜单商贸信息网站
  • 网站建设及发布的流程大学个人网站期末作业
  • 自动的网站设计制作网站搜索引擎怎样做
  • 哈尔滨道外区建设局官方网站安徽网站建站系统平台
  • 网站开发费 会计科目wordpress win linux
  • wap网站域名申请北京发布会直播回放
  • 同城型网站开发网站建设与制作设计公司
  • 浙江住房和城乡建设网站万能浏览器手机版下载安装
  • 做PHP网站前端网站进不去塑胶网站建设
  • 以前在线做预算的网站东莞网站建设哪里找
  • 网站后台维护一般要怎么做网店美工素材