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、只能直接访问外部类的静态成员(实例成员需要实例化外部类对象)