• 1
  • 2
  • 3
  • 4
  • 5

高中生大学生毕业后必选职业路

Java面试题之怎样理解clone对象?

再怎么慎重都不为过

免费咨询 >
相关IT课程
Java面试题之怎样理解clone对象?
这些IT技术课程很火爆,你还在等什么?
怎么学好 学什么好 咋学快速
网络营销 以在线咨询为准 热招
HTML5定制班HTML5定制班热招 以在线咨询为准 热招
Python定制班Python定制班热招 以在线咨询为准 热招
软件测试就业班软件测试就业班热招 以在线咨询为准 热招
JAVA就业班JAVA就业班热招 以在线咨询为准 热招
UI设计定制班 以在线咨询为准 热招

全移动智能化教学设施

定义"高大上"

让你学习高薪技术专业轻松无忧快乐

  • Java开发工程师
  • PHP培训
  • web全栈工程师
  • 软件测试工程师
  • 人工智能培训
  • 云计算培训
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Java面试题之怎样理解clone对象?

你想不优秀,没门!

专业选择对了,努力才能不白费

大数据-Java面试题之怎样理解clone对象?
UI培训-Java面试题之怎样理解clone对象?
网络营销-Java面试题之怎样理解clone对象?
直播带货-Java面试题之怎样理解clone对象?
物联网-Java面试题之怎样理解clone对象?

Java面试题之怎样理解clone对象?


Java面试题之怎样理解clone对象?

1、为什么要用 clone?

在实际编程过程中,我们常常要遇到这种情况:有一个对象 A,在某一时刻 A 中已经包含了一些有效值,此时可能会需要一个和 A 完全相同新对象 B,并且此后对 B 任何改动都不会影响到 A 中的值,也就是说,A 与 B 是两个独立的对象,但 B 的初始值是由 A 对象确定的。在 Java 语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现 clone()方法是其中最简单,也是最高效的手段。

2、new 一个对象的过程和clone 一个对象的过程区别

new 操作符的本意是分配内存。程序执行到 new 操作符时,首先去看 new 操作符后面的类型,因为知道了类型, 才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象。

clone 在第一步是和 new 相似的,都是分配内存,调用 clone 方法时,分配的内存和原对象(即调用 clone 方法的对象)相同,然后再使用原对象中对应的各个域,填充新对象的域,填充完成之后,clone 方法返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。

3、clone 对象的使用

(1)复制对象和复制引用的区别

Person p = new Person(23, "zhang");

Person p1 = p;

System.out.println(p);

System.out.println(p1);

当 Person p1 = p;执行之后, 是创建了一个新的对象吗? 首先看打印结果:

com.itheima.Person@2f9ee1ac

com.itheima.Person@2f9ee1ac

可以看出,打印的地址值是相同的,既然地址都是相同的,那么肯定是同一个对象。p 和 p1 只是引用而已,他们都指向了一个相同的对象 Person(23, “zhang”) 。 可以把这种现象叫做引用的复制。

全国1000多家名企招聘

500家企业人才定制培养需求

想不就业,太难!

IT培训就业之一 IT培训就业之二 IT培训就业之三
学员最关心的就业问题
想学员之所想,解学员之所惑
我怎么样选择
合适的IT课程?

我怎么样选择合适的IT课程?-Java面试题之怎样理解clone对象?

学了IT课程后
能保证就业吗?

学了IT课程后能保证就业吗?-Java面试题之怎样理解clone对象?

学了IT后可以进
哪些企业?

学了IT后可以进哪些企业?-Java面试题之怎样理解clone对象?

0基础
学什么专业更好?

0基础学什么专业更好?-Java面试题之怎样理解clone对象?

IT培训网课程的
优势有哪些?

IT培训网课程的优势有哪些?-Java面试题之怎样理解clone对象?

IT课程学费多少钱?

IT课程费多少钱?-Java面试题之怎样理解clone对象?

版权所有:IT培训网 备案信息:中国优质IT培训网

课程免费咨询热线:13783581536