加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Java中对象与引用的认识

发布时间:2021-11-20 18:35:54 所属栏目:教程 来源:互联网
导读:Java中对象与引用的理解 如下表达式: A a1 = new A(); 它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象。 在JAVA里,=不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地
Java中对象与引用的理解
 
如下表达式:
 
A a1 = new A();
 
它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象。
 
在JAVA里,“=”不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地址传给了左边的引用,使得左边的引用指向了右边的对象。JAVA表面上看起来没有指针,但它的引用其实质就是一个指针,引用里面存放的并不是对象,而是该对象的地址,使得该引用指向了对象。在JAVA里,“=”语句不应该被翻译成赋值语句,因为它所执行的确实不是一个赋值的过程,而是一个传地址的过程,被译成赋值语句会造成很多误解,译得不准确。
 
再如:
 
A a2;
 
它代表A是类,a2是引用,a2不是对象,a2所指向的对象为空null;
 
再如:
 
a2 = a1;
 
它代表,a2是引用,a1也是引用,a1所指向的对象的地址传给了a2(传址),使得a2和a1指向了同一对象。
 
综上所述,可以简单的记为,在初始化时,“=”语句左边的是引用,右边new出来的是对象。
 
在后面的左右都是引用的“=”语句时,左右的引用同时指向了右边引用所指向的对象。
 
再所谓实例,其实就是对象的同义词。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读