0
点赞
收藏
分享

微信扫一扫

【JAVA】 对象

hwwjian 2022-03-14 阅读 49
java

用句柄操纵对象

虽说万物皆对象,但你操作的实际是指向对象的句柄。试着将对象想象成电视,句柄想象成句柄。只要你手中拿着遥控器(句柄Handle),你就能控制电视机(对象),想“换台”或“调声音的时候”,只要控制遥控器(句柄)就能控制电视(对象)了。

当然,遥控器可以在没有电视机的情况下,独立存在;也就是说,句柄并不一定要连接一,每当创建一个句柄的时候都要进行初始化:
String s=”asdf”;
上例中,String可以用文本初始化

必须创建所有的对象

关键字new的意思是”使我成为一个新的对象”(“Make me a new one of these objects”)。在Java编程中,创建新类型是基本操作。

作用域

在Java中,作用域是由花括号的位置决定的

{
  int x = 12;
  /* only x available */
  {
    int q = 96;
    /* both x & q available */
  }
  /* only x available */
  /* q “out of scope” */
}

在作用域中定义的变量,只能在当前作用域中使用,该作用域结束后则不能使用

对象的作用域

Java对象与主类型的存在时间不同。用new创建的Java对象可以超出作用域的范围之外。
如下例:

{
	String s = new String("a string");
} /* 作用域的终点 */

那么句柄s会在作用域的终点处消失。然而,s指向的String对象依然占据着内存空间。在该例中,我们没有办法访问该对象,因为指向其的唯一一个句柄已超出了作用域的边界。

举报

相关推荐

0 条评论