1、成员内部类
修饰符 class Outer {
修饰符 class INner {
//
}
}
注意:内部类使用外部类随意访问,外部类使用内部类要借助内部类对象
使用成员内部类:
a、间接方式:在外部类的方法中使用内部类,main只是调用外部类的方法
b、直接方式:
外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称()
public class OuterClass {
private String name = "outer";
public void methodOuter() {
int num = 10; // 局部变量
System.out.println("Outer method");
System.out.println();
System.out.println(name);
class Inner {
private String name = "inner";// 内外重名
public void methodInner() {
System.out.println("INNer method");
System.out.println(name);// 可以访问外部类的成员变量
System.out.println(this.name);// 访问内部类成员变量
System.out.println(OuterClass.this.name);// 访问外部类成员变量
//内部类如果要访问所在方法的局部变量,那么这个变量必须是final的,或者是事实上是[final]的,也就是不改变的
System.out.println(num);
}
}
}
}