首页 > 技术文章 > Java中静态内部类的理解

zhoushiya 2016-06-21 14:32 原文

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
    {

    }

}

 

推荐阅读