内部类
- 概念,一个类的定义位于另一个的内部,前者被称为内部类,后者称为外部类
- 属性,类的成员
- 分类
- 成员内部类,方法外声明的内部类,一般在static中嵌套
- 被static修饰,嵌套类
- 没有static修饰的,普通内部类,类模式像对象关联,内部类可以访问外部类所有的属性,相对于作为属性更安全
- 局部内部类,方法中声明的内部类,
- 使用
- 内部类可以访问外部类的所有成员
- 访问外部类的同名成员加类名限定,并加this表示当前内部类
- 创建
- 普通内部类,外部类对象之后才能使用外部类对象的new来创建内部类
- 嵌套类,直接通过类的嵌套关系直接创建,内部的静态成员也可以直接创建,和外部类时平行的关系,只是位于类的内部
- 内部类
- 匿名内部类,
- new Object(){};
- 声明的同时创建对象,在声明后面加类体
- 没有类名,所以声明时必须直接创建对象,并且只能多态引用
- 对象关联,内部类关联外部类
public static void main(String[] args) {
new InnerClass().action(new Aa(){
public void action() {
System.out.println("hello world");
}
});
}
//匿名内部类测试
interface Aa{
public void action();
}
public void action(Aa aa) {
aa.action();
}