静态内部类
- 不依赖外部对象,可直接创建或通过类名访问,可声明静态成员
- 只能直接访问外部类静态成员(实例成员需要实例化外部类对象)
- Outer.Inner inner = new Outer.Inner()
- Outer.Inner.show()
package staticInnerClass;
//外部类
public class Outer {//只有静态内部类才能被static修饰,正常类不可以用static修饰
private String name = "xxx";
private int age = 20;
//静态内部类,和外部类相同
static class Inner{
private String address="上海";
private String phone = "111";
//静态成员
private static int count = 1000;
public void show(){
//调用外部类属性
//1.创建外部类对象
Outer outer = new Outer();
//2.调用外部类的属性
System.out.println(outer.name);
System.out.println(outer.age);
//调用静态内部类对象
System.out.println(address);
System.out.println(phone);
System.out.println(count);
System.out.println(Inner.count);
}
}
}
package staticInnerClass;
public class TestOuter {
public static void main(String[] args) {
//直接创建静态内部类对象
Outer.Inner inner = new Outer.Inner();
//调用方法
inner.show();
}
}