用static关键字修饰的成员内部类,被称为静态内部类。它可以在
不创建外部类对象的情况下被实例化。
外部类名.内部类名 变量名=new 外部类名.内部类名( );
例子:
class Outer
{
private static int num=4;
private static void speak(){
System.out.println("外部类的方法被调用了");
}
static class Inner
{
void show(){
speak(); //调用外部类的静态方法
System.out.println("num="+num); //调用外部类的静态变量
}
}
}
class Example
{
public static void main(String[] args)
{
Outer.Inner inner=new Outer.Inner();
inner.show();
}
}
运行结果:
外部类的方法被调用了
num=4
注意:
1.静态内部类只能访问外部类的静态成员
2.在静态内部类中可以定义静态成员,而在非静态的内部类中不允许定义静态成员。