Java当中一种有四种内部类:
- 静态内部类
- 普通内部类
- 局部内部类
- 匿名内部类
静态内部类(static inner class)
class outerClass{
//静态内部类
static class staticInnerClass{
}
//普通内部类
class innerClass{
}
//局部内部类
public void function(){
class innerClass{
}
}
//匿名内部类
public MyFrame() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
....
}
});
}
| 静态内部类 | 普通内部类 | 局部内部类 | 匿名内部类 | |
|---|---|---|---|---|
| 实例化方式 | 不依赖外部类实例 | 依赖外部类实例 | 方法内部 | 只有一个实例 |
| 访问权限 | 外部静态成员和静态方法 | 外部所有成员方法 | 只能访问方法中final局部常量 | 同左 |
| 构造函数 | 有 | 有 | 有 | 无 |
| 其它 | 无publi,protected等修饰 | 同左;必须继承一个父类或者实现一个接口 |