作用域的变量定义
{
int x=12;
{
int x=96;
}
}
这段代码在C++中是合法的,但是在Java中是不合法的
对象的作用域
{
String s=new String("string")
}
当用new创建对象之后,它可以存活在作用域之外。
引用s在作用域终点就消失。然而,s所指向的对象依然占据内存空间。
我们无法在这个作用域之后访问这个对象,因为它的唯一引用已经超出了作用范围。
随后由垃圾回收器进行回收。
成员的默认值
当变量作为类的成员使用的时,会被给定默认值。然而,局部变量不会被给定默认值。
static关键字
创建了两个相同的对象,但是它们中的static变量只拥有一个存储空间。
在static方法中不能调用非静态方法,反过来是可以的。
this关键字
可以使用return this 返回当前类的引用
用this,在一个构造器中调用另一个构造器,但是只可以使用一次,并写于首行。