其实这里我感觉这样说更容易理解:
main()方法是一个静态代码块,是不依附于类存在可,如你上面的代码,完全可以把main方法换到另外一个类中,
所以我们可以向main()方法在另外一个类中,如果要在这个main()方法中调用你定义的内部类,如果直接这样
new Inner();肯定是找不到报错的。这是就应该明白要先找到包含这个内部类的类,就是你的Demo类,然后再通过
这个类找到内部类Inner,体现在代码上就是,Inner in = new Domo().new Inner();
这个问题主要是理解静态的main()方法是程序的入口是,静态的独立于类存在的。这样就很容易理解为什么要通过外部类来new内部类了
希望能加技术分,急需分数报名考试 |