深拷贝实例(一个类中包含另一个类的对象)
来源:互联网 发布:qq酷双项淘宝客真的吗 编辑:程序博客网 时间:2024/06/18 05:47
import java.util.*;/** * 深拷贝 * */public class test { public static void main(String[] args){ String name = "张三"; int age = 15; Address ads = new Address(); ads.setAddress("北京"); Student stu1 = new Student(name,age,ads); Student stu2 = stu1.clone(); ads.setAddress("石家庄"); System.out.println("学生1的姓名:"+stu1.getName()+" 年龄是:"+stu1.getAge()+" 位置:"+stu1.getAds().getAddress()); System.out.println("学生2的姓名:"+stu2.getName()+" 年龄是:"+stu2.getAge()+" 位置:"+stu2.getAds().getAddress()); }}//地址类class Address implements Cloneable{ private String address; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public Object clone(){ Address address = null; try { address = (Address) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return address; }}//学生类class Student implements Cloneable{ private String name; private int age; private Address ads; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Address getAds() { return ads; } public void setAds(Address ads) { this.ads = ads; } public Student(String name, int age, Address ads){ this.name = name; this.age = age; this.ads = ads; } @Override public Student clone(){ Student stu = null; try { stu = (Student) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } stu.ads = (Address) ads.clone(); return stu; }}运行结果是:学生1的姓名:张三 年龄是:15 位置:石家庄学生2的姓名:张三 年龄是:15 位置:北京学生2进行了深拷贝, 所以位置没有发生变化。
阅读全文
0 0
- 深拷贝实例(一个类中包含另一个类的对象)
- C# 中利用反射机制拷贝类的字段和属性(拷贝一个类对象的所有东西付给另一个类对象,而不是付给引用地址)
- C++中一个类作为另一个类友元且产生了另一个类对象的使用方式
- CBitmap拷贝函数(根据一个CBitmap对象创建另一个相同的CBitmap对象)
- flex ArrayCollection 存储的对象中包含另一个对象
- 典型的一个类对另一个类对象声明,数据交换的实例
- 递归案例3:拷贝一个文件夹中(包含内容)到另一个文件夹中
- 将一个文件夹的内容拷贝到另一个文件夹中
- 一个js中包含另一个js的方法
- 检查一个字符串中是否包含另一个字符的函数
- 一个字符串中包含另一个字符串所有字符的最短子串
- 计算一个字符串中包含另一个字符串的个数
- iOS 深拷贝、浅拷贝(1)非容器类对象实例
- iOS 深拷贝、浅拷贝(2)容器类对象实例
- 小作业(一个字符串中包含几个另一个字符串)
- 动态库中输出STL类的实例和类中包含STL对象
- JS中有关对象的继承以及实例化、浅拷贝深拷贝的奥秘
- C++ 关于在一个类中定义另一个类的指针与对象
- 字符类型转换
- hdu 1864 最大报销额【01背包变形~】(实数转整型)
- Android 转场动画 仿探探点击卡片展示个人信息页面
- Java堆、栈的区别及String类的细节问题
- 在web端保存app的登陆状态的一个简单实现
- 深拷贝实例(一个类中包含另一个类的对象)
- 吾爱破解crackme 065-070
- jsp自定义标签接口-SimpleTag
- Kotlin语言学习之使用object和companion object修饰静态类和静态方法
- iOS 环信打包
- 程序中,浮点型存储
- IDEA将Mavn项目发布到自己的私服仓库
- vue2.x实例生命周期
- 数乌龟