静态类作为类的静态成员存在于某个类中,需在类的定义中加入关键字static。
class Outer
{
Private static int x = 3;
static class Inner
{
void method()
{
System.out.println("method"+x);
}
}
}
class InnerClassDemo5
{
public static void main(String[] args)
{
Outer.Inner in = new Outer.Inner(); // Outer.Inner()为直接通过外部类类名调用的内部类
in.method();
}
}
在类Outer中定义了静态类Inner后,可将静态类Inner看成类Outer的static成员。当内部类被static修饰后,只能直接访问外部类中的static成员,出现了访问局限。因为内部类被静态化,Static成员可以在不创建外部类Outer对象的情况下,直接new 出内部类Inner的对象。
注意:当内部类中定义了静态成员,该内部类必须是static的; 当外部类中的静态方法访问内部类时,内部类也必须是static的。
|