一般情况下,static 修饰的是匿名内部类,从一个类中创建另一个类,这个类叫成员内部类。成员内部类可以是静态,非静态的。内部类使用最多的还是内部非静态类。
内部静态类 static class
- 用 static 修饰的是内部类,内部类就变成静态内部类
- 内部静态类不需要有指向外部类的引用
- 内部静态类只能访问外部类的静态成员。不能访问外部类的非静态成员。
非静态内部类 non static class
- 非静态内部类需要对外部类的引用
- 非静态内部类可以访问外部类的静态与非静态成员。
- 一个非静态内部类创建不能脱离外部类的实体被创建。
- 一个非静态内部类可以访问外部类的成员变量和成员方法,即使方式被定义为 private 。