问题: 为什么 当内部类被static 修饰的时候 原有的创建内部类对象的方式 不可以了,需要使用新的格式?
我的想法:原有的格式不就是利用对象来调用静态内部类的吗?为什么这种方式不可以啊?
原有的格式:
外部类.内部类 对象名 = new 外部类().new 内部类();
Outer.Inner oi = new Outer().new Inner();
新的格式:
外部类.内部类 对象名 = new 外部类.内部类();
Outer.Inner oi = new Outer.Inner();
*/
class Outer {
private static int num = 20;
static class Inner {
public static void method(){
System.out.println( num );
}
}
}
class InnerClassDemo4
{
public static void main(String[] args)
{
//创建内部类对象,调用method()方法
Outer.Inner oi = new Outer().new Inner();
oi.method();
//System.out.println(Outer.num);
//新的格式
//Outer.Inner oi = new Outer.Inner();
//oi.method();
//调用method()
//Outer.Inner.method();
}
}