类与对象之成员方法返回类型是引用类型应用实例
编写一个方法 copyPerson,可以复制一个 Person 对象,返回复制的对象。克隆对象, 注意要求得到新对象和原来的对象是两个独立的对象,只是他们的属性相同
public class MethodExercise02{
public static void main(String[] args){
//
//编写一个方法 copyPerson,可以复制一个 Person 对象,返回复制的对象。
//克隆对象, 注意要求得到新对象和原来的对象是两个独立的对象,只是他们的属性相同
Person p1 = new Person();
p1.name= "jack";
p1.age = 10;
myTools tool = new myTools();
Person p2= tool.copyPerson(p1);
//到此,p1 p2是Person的对象,是两个独立的对象,属性相同
System.out.println("p1.age=" + p1.age+" p1.name="+p1.name);
System.out.println("p2.age=" + p2.age+" p2.name="+p2.name);
System.out.println(p1==p2);//hashcode
}
}
class Person{
int age;
String name;
}
class myTools{
//思路
//1.方法返回类型 Person
//2.方法名 copyPerson
//3.形参 Person p
//4.方法体 创建一个新对象,并复制属性,返回即可
public Person copyPerson(Person p){
//创建新对象
Person p2 =new Person();
p2.age = p.age;
p2.name = p.name;
return p2;
}
}
注意几个点:
- 写Person类,写明属性
- main 方法中先创建一个p1对象,并赋值
- 写myTools类的方法体
思路
1).方法返回类型 Person(!按照题干要求)
2).方法名 copyPerson
3).形参 Person p(题干要求复制对象
4).方法体 创建一个新对象,并复制属性,返回即可
之后创建新对象,属性等于形参的属性,
记得 return 返回 p2的值- 我总是忘记,在写接收值时,要写 对象(小写).方法,而不是 类(大写).方法
- 由于是克隆,两个Person类对象 p1和p2是独立的两个空间, 用hashcode判断是否相同。代码返回 false