内部类

内部类

  • 概念,一个类的定义位于另一个的内部,前者被称为内部类,后者称为外部类
  • 属性,类的成员
    • 类成员
      • 属性
      • 行为
      • 构造器
      • 代码块
      • 内部类
  • 分类
    • 成员内部类,方法外声明的内部类,一般在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();
	}
原文地址:https://www.cnblogs.com/refengqingfu/p/9978519.html