句柄与引用(转)

1.句柄(handle) 为了区别引用类型的变量标识符和基本数据类型变量标识符,我们特别的使用Handle来称呼引用类型的变量标识符。

  A a; //a里面存放地址。但未初始化,所以里面的值为null。

  B b1,b2;// b1, b2里面存放地址。但未初始化,所以里面的值为null。

    String s; //s里面存放地址。但未初始化,所以里面的值为null。

2.引用(reference)对象的引用是创建对象时的返回值!引用是new表达式的返回值。

  new A(); 这里真正创建了一个对象,但我们没有用句柄去持有该引用。从微观上看,new表达式完成了对象初始化的任务(三步曲),整体上看则返回一个引用。

3.句柄与引用的关系

  A a;//声明句柄a,值为null

  a=new A();//句柄的初始化

  引用:new A()的值。引用可以简单的看作对象占据内存空间的地址;引用就是对象独特的身份标识。

  完成句柄的初始化后,就可以用句柄遥控对象了。

原文地址:https://www.cnblogs.com/m3Lee/p/3154259.html