本帖最后由 芦曦 于 2012-7-28 17:29 编辑
[code]class Outer
{
void method(final int a)
{
final int y = 4;
class Inner
{
void function()
{
System.out.println(y);
}
}
new Inner().function();//实例化该类。
}
}
内部类定义在局部时,
1,不可以被成员修饰符修饰
2,可以直接访问外部类中的成员,因为还持有外部类中的引用。
但是不可以访问它所在的局部中的变量。只能访问被final修饰的局部变量。
内部类定义在成员位置上时才能被私有或者是静态修饰。
这就是内部类被定义在成员位置和定义在局部的区别。 |