Java中通过new来创建一个对象
new Hero();
此时对象Hero已被创建,但是并不能被访问,此时需要一个引用来指向该对象
Hero h = new Hero();
此时就可以通过h来访问该对象了
多个引用一个对象,其实操作的对象是一个。例如:
public class Hero {
String name; // 姓名
float hp; // 血量
float armor; // 护甲
int moveSpeed; // 移速
public static void main(String[] args) {
//使用一个引用来指向这个对象
Hero h1 = new Hero();
Hero h2 = h1; //h2指向h1所指向的对象
Hero h3 = h1;
Hero h4 = h1;
Hero h5 = h4;
h1.name = "AAAAAAAA";
System.out.println(h1.name);
System.out.println(h2.name);
}
}
上面代码打印可知,h2.name输出的值和h1.name一样
多个对象一个引用,其实就相当于用后面的值覆盖前面的值
例如:
public static void main(String[] args) {
//使用一个引用来指向这个对象
Hero h1 = new Hero();
Hero h2 = h1; //h2指向h1所指向的对象
Hero h3 = h1;
Hero h4 = h1;
Hero h5 = h4;
h1.name = "AAAAAAAA";
h1 = new Hero();
System.out.println(h1.name);
System.out.println(h2.name);
}
结果是
null
AAAAAAAA
说明h1已经不是原来的对象了,但原来的对象还是存在的,h2指向的原来对象的值未变
网友评论