重捡Java(四)类与对象 引用

2020-05-05  本文已影响0人  我很惊讶

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指向的原来对象的值未变

上一篇下一篇

猜你喜欢

热点阅读