问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

匿名内部类(包括最佳应用场景)

创作时间:
作者:
@小白创作中心

匿名内部类(包括最佳应用场景)

引用
CSDN
1.
https://blog.csdn.net/m0_75013084/article/details/137439861

目录

  1. 定义
  2. 基本语法
  3. 使用细节
  4. 最佳应用场景

1. 定义

匿名内部类是定义在外部类的局部位置,比如方法中,没有类名(表面没有名字,但JDK的底层还是会分配名字:外部类名+ $1,同一个外部类的下一个匿名内部类分配的名字是+ $2,依次向后递增)。本质还是一个类,同时还是一个对象。

2. 基本语法

new 类或接口(参数列表) {  
    // 类体  
};  

3. 使用细节

(1)匿名内部类的语法比较特别,因为匿名内部类既是一个类的定义,同时它本身也是一个对象。因此从语法上看,它既有定义类的特征,也有创建对象的特征。因此调用匿名内部类的方法有两种:

① 创建类的对象实例调用

② 直接作为对象调用

(2)匿名内部类实际上也是继承了父类,或者是实现了接口。

(3)可以直接访问外部类的所有成员,包括私有的。

(4)不能添加访问修饰符,因为它的地位就是一个局部变量。

(5)作用域:仅仅在定义它的方法或代码块中。

(6)匿名内部类本身只能访问一次,但创建的对象实例可以多次访问。

(7)匿名内部类访问外部类的成员,访问方式:直接访问。

(8)外部其他类不能访问匿名内部类,匿名内部类就是一个局部变量。

(9)如果外部类和匿名内部类的成员重名时,默认遵循就近原则,如果想要访问外部类的成员,则可以使用(外部类名.this.成员)去访问。

4. 最佳应用场景

匿名内部类本质是一个对象,当该接口实现只使用一次时,当作实参直接传递,简洁高效。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号