对于类的传参机制我就总结两句话,仅供自己卖弄一下。对于基本数据类型,形式参数的改变不会导致实参的改变;对于引用数据类型的改变,会在堆内存中直接修改原有的值,也就是说回导致,基本值改变。
/**
* @ClassName Tested 练习
* @Description TODO
* @Author Administrator
* @Date 2022/4/23 18:08
* @Version 1.0
*/
public class Test03 {
public static void main(String[] args) {
/*
编写一个方法copyPerson,可以复制一个Person对象,返回复制的对象。克隆对象,
注意要求得到新对象和原来的对象是两个独立的对象,只是他们的属性相同
*/
Person person = new Person();
person.name="张三";
person.age = 20;
//创建tools类对象
Tools tools = new Tools();
Person p = tools.copyPerson(person);
System.out.println("复制后的结果是:"+p.name+p.age);
}
}
//创建一个Person类方便测试
class Person{
String name;
int age;
}
//工具类
class Tools{
//方法copyPerson
//返回值类型Person
//方法名copyPerson
//参数Person对象
//方法体参考两个基本类型数值交换的思想
public Person copyPerson(Person s){
Person person = new Person();
person.name=s.name;
person.age=s.age;
return person;
}
}
对于此题来说,如果还不知道重写toString方法的话,就要在测试类的输出语句中,将输出语句通过对象名调用属性才可以将对应属性的值输出,不然就是打印的地址。如下图
![]()










