- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《API常用类的介绍
Object类位于:java.lang
Object类是所有类的根类,每个类都使用 Object 作为超类.其中提供了一些列对对象进行操作的方法
Object类中常用的方法:
1. clone()创建并返回此对象的一个副本
注意:Object类型的对象本身是无法访问clone()方法对其进行克隆的,它只能适用于继承了Object的子类对象。
public class ObjectCloneTest {
public static void main(String[] args) {
Object obj = new Object();
//obj.clone(); //错误的使用,Object类型的对象本身是无法访问clone()方法的
}
}
使用步骤:
1)定义一个继承了Object的子类类型,同时实现Cloneable接口;
作为Cloneable接口本身不包含clone()方法,该接口只是用于标识实现类可克隆
2)在子类中对Object父类中的clone()方法进行重写,以指定特定的克隆执行过程
克隆分类:
浅度克隆
public class Student {
private String name;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public Student()
{
}
public Student(String argName,int argAge)
{
= argName;
this.age = argAge;
}
}
public class StudentManager implements Cloneable{
//引用类型的属性
private Student stu = new Student();
private int count = 1;
public Student getStu() {
return stu;
}
public StudentManager clone()
{
StudentManager sm = null;
try
{
//只对StudentManager类的对象进行克隆
//而忽略其包含的Student类型的属性
sm = (StudentManager) super.clone();
}catch(CloneNotSupportedException e)
{
e.printStackTrace();
}
return sm;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public void setStu(Student stu) {
this.stu = stu;
}
}
public class Start {
public static void main(String[] args) {
StudentManager sm = new StudentManager();
StudentManager sm2 = sm.clone(); // 通过StudentManager类中被重写的clone()方法,对sm对象进行克隆
// sm中的stu引用属性与sm2中的stu引用属性,指向同一个堆空间(sm中的stu堆空间)
//修改前
System.out.println(修改前);
System.out.println(sm的内存地址: + sm + sm2的内存地址: + sm2);
System.out.println(sm.stu的内存地址: + sm.getStu() + sm2.stu的内存地址: + sm2.getStu());
System.out.println(sm.stu中的name与age值: + sm.getStu().getNa
您可能关注的文档
最近下载
- 曲沃县各级文物保护单位一览表(2021版).docx VIP
- 2025年甘肃省公路交通建设集团武仙公路收费运营人员招聘61人简历怎么投递笔试备考题库及答案解析.docx VIP
- 2025年安徽省淮南市招聘社区工作者考试题(含答案).docx VIP
- 小学新学期开学收心会开学第一课收心主题班会通用PPT.pptx
- 做中文讲师妈妈.doc VIP
- 细胞的基本结构-细胞膜的结构和功能.ppt VIP
- 2025年初中语文九年级上册教学计划及进度表 .pdf VIP
- 部编版小学四年级语文上册教案(全册).pdf VIP
- 2025年甘肃省公路交通建设集团武仙公路收费运营人员招聘61人简历怎么投递笔试备考试题及答案解析.docx VIP
- 高中生物实验探究教学中的跨学科学习研究教学研究课题报告.docx
文档评论(0)