匿名内部类

匿名内部类就是内部类的简写格式

 

下面写法使用较多

 

匿名内部类的前提是必须继承或者实现一个外部类或者接口

 

匿名内部类由于没有名字,所以它没有构造函数
如果这个匿名内部类继承了一个只含有带参数构造函数的父类,创建它的时候必须带上这些参数
不能定义静态成员

 匿名内部类的使用场景

当方法参数是接口类型时,而且接口中的方法不超过三个,可以用匿名内部类作为实际参数进行传递

匿名内部类的使用限制

匿名内部类不能是抽象的
匿名内部类不能定义构造器,默认和父类相似的构造器
JDK1.8- 要求给局部内部类、匿名内部类访问的局部变量必须使用 final 修饰,从 JDK1.8 开始这个现
实被取消了,但是默认是 final 的(不能修改 )
int 8 种简单类型 /Integer8 种简单类型的包装类 /String 的使用中应该注意

 内部类的使用场景和好处

每个内部类都能独立的继承一个接口的实现,所以无论外部类是否已经继承了某个 ( 接口的 ) 实现,
对于内部类都没有影响。内部类使得多继承的解决方案变得完整
方便将存在一定逻辑关系的类组织在一起,又可以对外界隐藏

方便编写事件驱动程序

 

方便编写线程代码。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值