面试时的陷阱
/*
陷阱:
当形参是引用数据类型,实参给形参地址值之后,
形参修改了地址值,那么和实参就无关了
*/
代码如下,猜一猜分别输出什么
class test08_3面试时的陷阱{
public static void main(String[]args){
Circle yuan=new Circle();
yuan.radius=1.1;
doubleRadius(yuan);
System.out.println("半径:"+yuan.radius);
doubleRadius(yuan);
System.out.println(yuan.length);//猜一猜,分别输出什么
}
//该方法的功能:可以把c这个圆对象的半径变为原来的2倍
public static void doubleRadius(Circle c){
//加一行代码,制造陷阱
c=new Circle();
c.radius*=2;
c.length=0;
}
}
class Circle{
double radius;
int length=222;
}