1. 内部类(inner class):内部类
2. 静态内部类(static inner class)只能访问所在外部类的静态方法和静态变量,生成静态内部类的方式为
OuterClass.InnerClass inner = new OuterClass.InnerClass();
3. 成员内部类定义方式:
a) 定义方式:
OuterClass.InnerClass inner = newOuterClass().newInnerClass();
b)可以访问外部类的所有的方法和成员变量
c)内部类中的成员变量与外部类的成员变量重名时,想要访问外部类的成员变量,可使用:
OuterClass.this.member
4. 局部内部类(local inner class):局部内部类只能访问方法中声明的final类型的变量
5. 匿名内部类(anonymous inner class):匿名内部类会隐式地继承一个父类或实现一个接口
如:new Date()
{
};//生成了一个继承Date类的类的对象
//注册监听器时,常用匿名内部类