句柄,引用,对象

2018-12-11  本文已影响0人  setone

java中有三种数据类型:基本数据类型、引用类型和null类型。其中引用类型包括类类型(含数组)、接口类型。为了区别引用类型的变量标识符和基本数据类型变量标识符,我们特意用Handle(句柄)来称呼引用类型的变量标识符。对象的引用是创建对象时的返回值!引用是new表达式的返回值。new A();这里真正创建了一个对象,但我们没有用句柄去保存改该引用。handle(句柄)是变量,reference(引用)是一种变量值。

A a = new A();
  1. 句柄a--常见为A a;或者A a = new A();前者没有被初始化,后者被手工初始化。(若果a是一个类的成员变量会被默认初始化。)句柄不同于基本变量的关键,他是一种间接寻址方式。句柄申明常常成为对象申名;

  2. 创建对象--new A();这才是真正的创建对象,对象一般通过new表达式来创建。

  3. 计算new表达式的值:计算new表达式hi的整个过程,在微观上完成了对象的创建和这个对象自己的成员变量的初始化,在宏观上得到new表达式的值,这个值称为新对象的引用;

  4. 引用:new A();的值。引用可以简单的看做对象占据类存空间的地址;通过对象的引用,就可以方便的与其他对象区别开来,引用就是对象独特的身份标识。

  5. 句柄的初始化:句柄=引用;即把引用赋值给句柄,如a = new A();完成句柄的初始化,就可以用句柄遥控对象了。

  6. 对于语句A a=new A();是对象及对象初始化与句柄的初始化的合并


new A();引用
A a;句柄

转载地址

上一篇下一篇

猜你喜欢

热点阅读