类和对象系列教材 (一)- 什么是Java中的引用?

类和对象系列教材 (一)- 什么是Java中的引用?

更多详细内容请点击这里,注册获取

引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用。

步骤1:引用和指向
步骤2:多个引用,一个对象
步骤3:一个引用,多个对象

步骤 1 : 引用和指向

new Hero();

代表创建了一个Hero对象
但是也仅仅是创建了一个对象,没有办法访问它
为了访问这个对象,会使用引用来代表这个对象

Hero h = new Hero();

h这个变量是Hero类型,又叫做引用
=的意思指的h这个引用代表右侧创建的对象
“代表” 在面向对象里,又叫做“指向”
在这里插入图片描述

public class Hero {
    String name; //姓名
    float hp; //血量
    float armor; //护甲
    int moveSpeed; //移动速度
    public static void main(String[] args) {
        //创建一个对象
        new Hero();
        //使用一个引用来指向这个对象
        Hero h = new Hero();
    }  
}

步骤 2 : 多个引用,一个对象

引用有多个,但是对象只有一个。
在这个例子里,所有引用都指向了同一个对象。
对象就像 “房产”, 引用就像"房产证"
房产证的复印件可以有多张,但是真正的"房产" 只有这么一处
**多个引用,一个对象**

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,h2,h3,h4,h5 五个引用,都指向同一个对象
    }  
}

步骤 3 : 一个引用,多个对象

第8行,引用garen指向新创建的对象(对象1)
第9行,同一个引用garen指向新创建的对象(对象2)
这个时候,对象1,就没有任何引用指向了
换句话说,就没有任何手段控制和访问该对象,那么该对象就变得没有意义。
一个引用,多个对象

package charactor;
public class Hero {
    public String name;
    protected float hp;
    public static void main(String[] args) {
           Hero garen =  new Hero();
           garen =  new Hero();
    }
}

更多详细内容请点击这里

发布了32 篇原创文章 · 获赞 182 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44092440/article/details/101910352