public class Outer {
private String name="小王";
private int age=10;
//静态内部类;和外部类相同
static class Inner{
private String address="北京";
private String phone="110";
//静态成员
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(this.address);
System.out.println(this.phone);
//调用静态内部类的静态属性
System.out.println(Inner.count);
}
}
public class Test {
public static void main(String[] args) {
//直接创建静态内部类对象
Outer.Inner inner=new Outer.Inner();
//调用方法
inner.show();
}
静态内部类:
1、不依赖外部类对象,可以直接创建或通过类名访问,可声明静态成员。
2、只能直接访问外部类的静态成员(实例成员需要实例化外部类对象)