/*
内部类定义在局部时,
1,不可以被成员修饰符修饰
2,可以直接访问外部类中的成员,因为还持有外部类中的引用。
但是不可以访问他所在的局部中的变量。只能访问被final修饰的局部变量。
*/
class Outer2 {
public void show(final int x) { //因为局部中的内部类只能使用被final修饰的变量。所以参数也必须用final修饰
final int a = 3; //因为局部内部类只能访问被final修饰的变量。
class Inner3 {
void show() {
System.out.println("x = " + x);
System.out.println("a = " + a);
}
}
new Inner3().show(); //因为其实局部内部类。只在局部中有效。所以才在局部中实例化。
}
}
class OuterDemo2 {
public static void main(String[] args) {
new Outer2().show(3);
}
}
|