Java知识系统回顾整理01基础07类和对象01引用

本文深入探讨了Java中对象和引用的基本概念,包括引用的定义、如何使用引用指向对象、多个引用指向同一对象的情况,以及一个引用指向多个对象的可能性。通过实例代码,详细解释了这些概念的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引用的定义

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

   

二、引用和指向

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();     

    }     

}

   

三、多个引用,一个对象

引用有多个,但是对象只有一个。

在这个例子里,所有引用都指向了同一个对象。

对象就像 "房产", 引用就像"房产证"

房产证的复印件可以有多张,但是真正的"房产" 只有这么一处

   

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

    }        

}

   

四、一个引用,多个对象

第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 h1 =  new Hero();

           Hero h2 =  new Hero();

           Hero h3;

           Hero h4;

           h3 = h1;

           h4 = h3;

    }

}

问题:

h4所指向的对象和h2所指向的对象,是否是同一个对象?

   

官方解答:

如果所示,h4指向h3,最终间接地指向了对象1

而h2指向的是对象2,所以h4和h2不是指向同一个对象

   

   

   

转载于:https://www.cnblogs.com/xlfcjx/p/10775786.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值