内部类在成员位置上的时候可以被static修饰,但是访问的外部类成员必须是静态的,
Static:当内部类中定义了静态的成员时,该内部类必须静态的,否则编译失败。
代码体现:
Class Outer
{
Static int num=4;
Static class Inner
当一个类要直接访问另一个类中的成员时。可以将这个类定义到另一类里面。
{
Static void show()
{
Sop("show run"+num);
}
Public void method()
{
Inner in=new Inner();
In.,show();
}
}
}
Class InnerClassDemo
{
Public static void main(String[] args)
{
//Outer out=new Outer();
//out.method();
//System.out.println("Hello World!");
//当访问一个外部类的内部类时,先由外部类对象再有内部类对象。
//Outer.Inner in=new Outer().new Inner();//要指明内部类所处的外部类
//in.show();
//内部类静态化,要调用的非静态的方法show();
//Outer.Inner in=new Outer.Inner();
//in.show();
//如果show方法也是静态的,要调用静态的方法show();
Outer.Inner.show();
}
}
|