成员内部类:
1.和外部类对象有个隐含的绑定关系
2.封装思想的体现
方法内部类:
1.基本和成员内部类一样(不能定义静态属性|方法)
2.封装在方法内部
3.可以使用局部变量|形参的值,但是要求局部变量、形参final 或 事实final
4.如果方法内部类定义外部类的普通方法中
5.可以访问外部类属性
匿名内部类:
默认继承一个父亲 或者 实现一个接口,但没有类名称
语法规则:
new 接口|父亲(有参或者无参){
//子类的实现,可以继承接口,也可以复写方法
//不能定义构造方法
}
静态内部类:
class Outter{
static class StaticInner{}
}
使用:
1.在Outter类的内部使用,和普通类一样
StaticInner o=new StaticInner;
2.在Outter类的外部使用
Outter.StaticInner 0=new Outter.StaticInner();