Java对象引用
public class Dog {
String name;
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog dog1 = new Dog();
dog1.bark();
dog1.name = "Bart";
//创建Dog数组
Dog[] myDogs = new Dog[3];
myDogs[0] = new Dog();
myDogs[1] = new Dog();
myDogs[2] = dog1;
myDogs[0].name = "Fred";
myDogs[1].name = "Marge";
System.out.print("Last dog's name is ");
System.out.println(myDogs[2].name);
int x = 0;
while (x < myDogs.length) {
myDogs[x].bark();
x = x + 1;
}
dog1.name = "Bob";
dog1.bark();
myDogs[2].bark();
}
public void bark() {
System.out.println(name + " says ruff!");
}
}
程序运行结果:
- 对象引用类似于指针,声明的类型不可改变;
- myDogs[2] = dog1;两个变量指向同一个Dog对象,改变其中一个,另一个的值也会变;