1.内部类的概念
1.1什么是内部类
顾名思义,内部类就是在一个类里再定义类。
内部类是类的五大成员之一,五大成员包括:属性、方法、构造方法、代码块、内部类
1.2内部类的特点
内部类表示的是事物是外部类的一部分,内部类的单独出现没有任何意义
内部类的访问特点:内部类可以直接访问外部类的成员,包括私有。而外部类要访问内部类的成员必须要创建对象
1.3内部类的分类
成员内部内,类定义在了成员位置 (类中方法外称为成员位置,无static修饰的内部类)
静态内部类,类定义在了成员位置 (类中方法外称为成员位置,有static修饰的内部类)
局部内部类,类定义在方法内
匿名内部类,没有名字的内部类,可以在方法中,也可以在类中方法外。
注:其中匿名内部类相对复杂也最为重要
2.匿名内部类
2.1匿名内部类的概念
匿名内部类本质上就是隐藏了名字的内部类,可看作是内部类的简化写法
其格式为:
new 类名或者接口名() {
重写方法;
};
它包含了:继承或实现关系;方法重写;创建对象
拓展知识 :我们把它写成new 类名/接口名(){} 时可以发现,它整体其实就是我们所创建类的对象,只不过其中多了方法体
2.2匿名内部类的使用场景
当方法的参数是接口或类时,
以接口为例,可以传递这个接口的实现类对象,
如果实现类只要使用一次,就可以用匿名内部类简化代码