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

做俄罗斯网站三亚百度推广开户

做俄罗斯网站,三亚百度推广开户,小程序登录跳转,wordpress群站域名在java中如何对对象进行拷贝呢?我们可以使用Object类中的clone方法。 一、浅拷贝 在使用clone方法对对象进行拷贝的时候,需要注意: 1.需要重写clone方法; 2.clone方法的返回值是Object类,需要强制类型转化&#xf…

在java中如何对对象进行拷贝呢?我们可以使用Object类中的clone方法。

一、浅拷贝

在使用clone方法对对象进行拷贝的时候,需要注意:

1.需要重写clone方法

2.clone方法的返回值是Object类,需要强制类型转化

3.使用clone方法必须先实现Cloneable接口

//深克隆
public class Test {//对抛出的异常进行处理public static void main(String[] args)throws CloneNotSupportedException {Person person=new Person("zhangsan",10);Person person1=(Person)person.clone();System.out.println("修改前:"+person.m.money);System.out.println("修改前:"+person1.m.money);person1.m.money=99.9;System.out.println("修改后:"+person.m.money);System.out.println("修改后:"+person1.m.money);//对person1.m.money修改后,person.m.money也被修改}
}
class Money {public double money=9.9;
}
//想要进行拷贝的类必须实现Cloneable接口
@SuppressWarnings("ALL")
class Person implements Cloneable{public int age;public String name;public Person(String name,int age) {this.age = age;this.name = name;}Money m=new Money();@Overridepublic String toString() {return "Person{" +"age=" + age +", name='" + name + '\'' +'}';}//重写clone方法protected Object clone()throws CloneNotSupportedException{return super.clone();}
}

运行结果:

可以看到当我们将person1.m.money修改为99.9是, person.m.money也被修改为99.9,这是为什么呢?

原因是我们只对person 进行了拷贝,而没有对m进行拷贝,因此person1和person中的m为同一个引用,它们指向同一个对象,像这种不完全的拷贝方式叫做浅拷贝。

二、深拷贝

如果想将上面的对象m也拷贝一份,也很简单,与拷贝person类似。

//深克隆
public class Test {public static void main(String[] args)throws CloneNotSupportedException {Person person=new Person("zhangsan",10);Person person1=(Person)person.clone();System.out.println("修改前:"+person.m.money);System.out.println("修改前:"+person1.m.money);person1.m.money=99.9;System.out.println("修改后:"+person.m.money);System.out.println("修改后:"+person1.m.money);}
}
//Money类也实现Cloneable接口,对clone方法进行重写
class Money implements Cloneable{public double money=9.9;protected Object clone()throws CloneNotSupportedException{return super.clone();}
}
//想要进行拷贝的类必须实现Cloneable接口
@SuppressWarnings("ALL")
class Person implements Cloneable{public int age;public String name;public Person(String name,int age) {this.age = age;this.name = name;}Money m=new Money();@Overridepublic String toString() {return "Person{" +"age=" + age +", name='" + name + '\'' +'}';}protected Object clone()throws CloneNotSupportedException{//clone的返回值为Object类,因此需要强制类型转换Person tmp=(Person) super.clone();//调用Monmey类中重写的clone方法,对m进行拷贝tmp.m=(Money) this.m.clone();return tmp;}
}

运行结果: 

http://www.khdw.cn/news/6227.html

相关文章:

  • 网站建设工具 公司上海aso苹果关键词优化
  • php网站开发更换模板网站开通
  • 莆田做网站建设合肥seo建站
  • 网络公司做网站互动营销的概念
  • 茂名专业网站建设外链
  • 郑州网站制作哪家便宜百度推广seo效果怎么样
  • 网站开发流程任务在线识别图片找原图
  • 惠州做棋牌网站建设哪家便宜seo软件优化工具软件
  • 网站建设需要几个人如何优化培训体系
  • 重庆江北区网站建设公司网络营销方式哪些
  • 龙岩一线网络有限公司网站seo基本流程
  • 网站整合建设方案seo研究协会网
  • 网站备案需要哪些东西百度竞价开户3000
  • 邯郸市哪里有做网站的精准推广
  • 网站开发专科毕业论文范文范文seo是什么的简称
  • icp备案怎么办理杭州seo网站排名优化
  • 游戏网站建设策划方案模板2345网址导航手机版
  • 网站更改目录做301小果seo实战培训课程
  • scrm企业微信管理系统优化大师下载安装免费
  • 天津公司网站建设公司哪家好域名解析在线查询
  • 网站设计的国际专业流程是什么时事新闻热点摘抄
  • 吴江网站设计软文广告经典案例600
  • 网站登录验证码不显示百度一下百度主页
  • 淘宝运营跟做网站哪种工资高网站运营主要做什么
  • 标准版网站制作合肥网站快速排名提升
  • 澳门赌网站怎么做代理免费外链网站
  • 花桥网站制作营销网站建设网站开发
  • 西安市建设干部学校网站乐天seo视频教程
  • 社交网站建设新产品市场推广方案
  • 柳城企业网站制作哪家好社会新闻热点事件