匿名内部类的概念和使用详解

1.内部类的概念

1.1什么是内部类

顾名思义,内部类就是在一个类里再定义类。
内部类是类的五大成员之一,五大成员包括:属性、方法、构造方法、代码块、内部类

1.2内部类的特点

内部类表示的是事物是外部类的一部分,内部类的单独出现没有任何意义

内部类的访问特点:内部类可以直接访问外部类的成员,包括私有。而外部类要访问内部类的成员必须要创建对象

1.3内部类的分类

成员内部内,类定义在了成员位置 (类中方法外称为成员位置,无static修饰的内部类)
静态内部类,类定义在了成员位置 (类中方法外称为成员位置,有static修饰的内部类)
局部内部类,类定义在方法内
匿名内部类,没有名字的内部类,可以在方法中,也可以在类中方法外。

注:其中匿名内部类相对复杂也最为重要

2.匿名内部类

2.1匿名内部类的概念

匿名内部类本质上就是隐藏了名字的内部类,可看作是内部类的简化写法

其格式为:

new 类名或者接口名() {
重写方法;
};

它包含了:继承或实现关系;方法重写;创建对象

拓展知识 :我们把它写成new 类名/接口名(){} 时可以发现,它整体其实就是我们所创建类的对象,只不过其中多了方法体

2.2匿名内部类的使用场景

当方法的参数是接口或类时,
以接口为例,可以传递这个接口的实现类对象,
如果实现类只要使用一次,就可以用匿名内部类简化代码

猜你喜欢

转载自blog.csdn.net/qq_47637405/article/details/128052560