Java中静态内部类的理解

class A
{
    public void func()
    {
        A a=new A();
        C c=a.new C();
    }

    public static void main(String[] args)
    {
        A a=new A();

        C c=a.new C();  //实例内部类访问需要【外部类名对象.内部类对象】,所以要两个new,可以理解为静态内部类衣着于外部类实例上的
        c=new A().new C();

        B b=new A.B();  //静态内部类访问需要【外部类名.静态内部类对象】,所以一个new,可以理解为静态内部类依着于外部类上
    }

    static class B
    {

    }

    class C
    {

    }

}
原文地址:https://www.cnblogs.com/zhoushiya/p/5603559.html