Java基础:二、作用域(4)
- 2020 年 3 月 17 日
- 笔记
作用域决定了在其内定义的明亮名的可见性和生命周期,在Java中,作用域由花括号的位置决定
基本类型的作用域
{ int x = 12; // Only x available { int q = 96; // Bath x & q available } // Only x available // q is "out of scope" }
对象的作用域
Java对象不具备和基本类型一样的生命周期,当用new创建一个Java对象时,它可以存活于作用域之外
{ String s = new String("a string"); } // End of scope
引用s在作用域终点就小时了,然而,s指向的String对象仍继续占据内存空间。在上面的代码中,我们无法在这个作用域之后访问这个对象,因为对它唯一的引用已超出了作用域的范围,而对象的回收,是通过Java的垃圾回收器,它用来监视用new创建的所有对象,并辨别哪些不会再被引用的对象,随后,释放这些对象的内存空间,以便供其他新的对象使用