【参考文献】
Java 中的内部类与匿名内部类详解_内部类和匿名内部类-CSDN博客
1.内部类
将一个类 A 定义在另一个类 B 里面,里面的那个类 A 就称为内部类,B 则称为外部类。
特点: 内部类可以直接访问外部类的成员,包括私有成员外部类要访问内部类的成员,必须要建立内部类的对象。访问格式为:外部类名.内部类名 对象名 = new 外部类().new 内部类()
内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class 文件,但是前面冠以外部类的类名和符号。
2.匿名内部类
匿名内部类 :
是内部类的简化写法。它的本质是一个带具体实现的父类或者父接口的 匿名的 子类对象。开发中,最常用到的内部类就是匿名内部类了。以接口举例,当你使用一个接口时,似乎得做如下几步操作,
匿名内部类的目的是==为了实现接口并且调用接口内部的方法==
FlyAble是个接口
public class InnerDemo {
public static void main(String[] args) {
/**
1.等号右边:是匿名内部类,定义并创建该接口的子类对象
2.等号左边:是多态赋值,接口类型引用指向子类对象
*/
FlyAble f = new FlyAble(){
public void fly() {
System.out.println("芜湖,起飞!!🕊");
}
};
//调用 fly方法,执行重写后的方法
f.fly();
}
}