public class Outer {
private int a=1;
int b=1;
static String name="张三";
public void name() {
System.out.println("张三");
}
class Inner{//内部类可以访问外部类的私有成员,非静态内部类依赖于外部类的某个实例
int a=2;
//普通内部类使用静态成员时需要添加final修饰
static final int b=2;
public void show(){
int a=3;
System.out.println(a);//访问的是a=3;
System.out.println(this.a);//访问的时a=2;
System.out.println(Outer.this.a);//访问的是a=1;
}
}
static class Inner2 {
int a=2;
static int b=2;
public void show2() {
//静态内部类不能访问外部类的非静态成员变量(实例变量)
System.out.println(a);
System.out.println(b);
}
public static void inner2 () {
}
}
public static void test() {
//静态类方法只能访问静态属性,不能够访问非静态的属性
}
}