static都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,所以可以用类名+静态成员名直接调用。
这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。
举例:
假如未被static修饰:
class Animal{
class Dog{
}
}
在实例化Dog类时需要先实例化Animal类:
Animal animal=new Animal();
animal.Dog dog=new animal.Dog();
假如被static修饰了:
class Animal{
static class Dog{
}
}
在实例化Dog类时只需:Animal.Dog dog=new Animal.dog;