Java提升篇(二)

匿名内部类(详解)

匿名内部类没有名字,建立的格式以下:安全

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

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

注意事项

  • 使匿名内部类时,必须继承一个类或者实现一个接口,可是二者不可兼得,只能继承一个类或者实现一个接口
  • 匿名内部类中不能定义构造函数
  • 匿名内部类不能存在任何的静态成员变量和静态方法
  • 匿名内部类为局部内部类,因此局部内部类的全部限制一样对匿名内部类生效
  • 匿名内部类不能是抽象的,必需要实现继承的类或者实现的接口的全部抽象方法

使用形参必须为final

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

匿名内部类的初始化

程序中通常都是利用构造函数完成某个实例的初始化工做,可是匿名内部类没有构造函数,使用构造代码块完成匿名内部类的初始化工做。继承

多重继承

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

  • 接口
  • 内部类
相关文章
相关标签/搜索