Java提高篇(二)

匿名内部类(详解)

匿名内部类没有名字,创建的格式如下:

new 父类构造函数(参数列表)| 实现接口 {
    // 匿名内部类的类体部分
}

缺陷: 匿名内部类不能重复使用,只能被使用一次:创建匿名内部类时会立即创建一个该类的实例,该类的定义会立即消失。

注意事项
  • 使匿名内部类时,必须继承一个类或者实现一个接口,但是两者不可兼得,只能继承一个类或者实现一个接口
  • 匿名内部类中不能定义构造函数
  • 匿名内部类不能存在任何的静态成员变量和静态方法
  • 匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效
  • 匿名内部类不能是抽象的,必须要实现继承的类或者实现的接口的所有抽象方法
使用形参必须为final

给匿名内部类传递参数时,若该形参在内部类中需要被使用 时,那么该参数必须要为final。也就是说,当所在的方法的形参需要被内部类里面使用时,该形参必须为final(保持参数的一致性)。

匿名内部类的初始化

程序中一般都是利用构造函数完成某个实例的初始化工作,但是匿名内部类没有构造函数,使用构造代码块完成匿名内部类的初始化工作。

多重继承

多重继承,指的是一个类可以同时从多于一个的父类那里继承行为和特征,但是Java中为了保证数据安全,只允许单继承。但是Java提供了两种方式曲折实现多继承:

  • 接口
  • 内部类

转载于:https://my.oschina.net/u/1251536/blog/1608619

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值