public class Dog {
private int weight;
//将实参myDog传给此处形参的过程其实就是对象引用的过程;
public static void changeWeight(Dog dog) {
dog.weight = 30;
dog = new Dog();
}
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.weight = 20;
changeWeight(myDog);
System.out.println(myDog.weight);
}
}
对象作为实例参数,在方法中只能改变该对象的状态,不能改变该对象的引用
public class Dog {
private int weight;
//将实参myDog传给此处形参的过程其实就是对象引用的过程;
public static void changeWeight(Dog dog) {
dog=new Dog();
dog.weight = 30;
}
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.weight = 20;
changeWeight(myDog);
System.out.println(myDog.weight);
}
}