一、什么是内部类
内部类就是在类里面定义的类。
二、 内部类的分类
根据在类中的位置不同,分为三种内部类:成员内部类、局部内部类、匿名内部类。
1、成员内部类:
创建成员内部类对象的格式:
外部类.内部类 变量名 = new 外部类().new 内部类()
2、静态内部类
静态内部类如何创建对象:
外部类.内部类 变量名= new外部类.内部类();
3、局部内部类
定义在方法中或者在代码块中的类,只能在方法中创建对象并使用。
4、 匿名内部类
整个右边相当于Animal类型的子类对象,并且重写了Animal类中的run方法。用父类类型的变量a去接收了这个匿名内部类。
抽象类和接口是不能直接new的,直接new出来的是他们的匿名内部类。
5、匿名内部类的作用和本质