静态内部类,就是使用static关键字修饰的内部成员类。静态内部类只能访问外部类的静态成员,通过外部类访问静态内部类成员时,因为程序已经提前在静态常量区为静态内部类分配好了内存,所以即使静态内部类没有加载,依然可以通过外部类直接创建一个静态内部类对象。
创建静态内部类对象的语法格式
外部类名.静态内部类名 变量名=new 外部类名.静态内部类名();
示例代码如下
class Outer3{
static int m=0;
static class Neibu2{
int n=1;
void show() {
System.out.println("外部类静态变量m="+m);
}
}
}
public class Jingtaineibu {
public static void main(String[] args) {
// 内部静态类
Outer3.Neibu2 inner = new Outer3.Neibu2();
inner.show();
}
}
在这段代码中,定义了一个静态变量m,又定义了一个静态内部类Neibu2
Outer3.Neibu2 inner = new Outer3.Neibu2();
上面的代码是创建了静态内部类的对象