//编写一个方法copyPerson,可以复制一个Person对象,返回复制的对象,克隆对象
//注意要求得到新对象和原来的对象是两个独立的对象,只是他们的属性相同
public class hsp212{
public static void main(String args[]){
//创建Person类实例
Person p = new Person();
p.name = "milan";
p.age = 100;
//创建Mytools类实例
Mytools tools = new Mytools();
//使用copyPerson,并传入已经实例化好的p,用Person类变量p2接受
Person p2 = tools.copyPerson(p);
//至此,p和p2是两个独立的Person对象,属性相同
System.out.println("p的属性 age" + p.age+"name" + p.name);
System.out.println("p2的属性 age" + p2.age+"name" + p2.name);
//也可以通过输出对象比较看看对象是否是一个
System.out.println(p == p2);
}
}
class Person{
String name;
int age;
}
class Mytools{
//思路
//返回类型 Person //出去官方定义的int 等类型,也可以是自己定义的类中的类型
//方法名字 copyPerson
//方法形参 Person p
//方法体 创建一个新对象,并复制属性,返回即可
public Person copyPerson(Person p) {
//克隆
//1、调用Person类创建一个新对象
Person p2 = new Person();
//复制属性
p2.name = p.name;//相当于地址传递,改变p的name也会改变p2的name
p2.age = p.age;//相当于值传递,改变p的age不会改变p2的age
//2、返回新对象
return p2;
}
}