java基础学习 day51 (匿名内部类)

1. 什么是匿名内部类?

  • 隐藏了名字的内部类,实际名字为:外部类名$序号
  • 可以写在成员位置,为没有名字的成员内部类
  • 也可以写在局部位置,为没有名字的局部内部类

2. 匿名内部类的格式?

new 类名/接口名() {
重写类或接口的所有抽象方法;
};

3. 格式的细节

  • 包含了继承或实现,方法重写,创建对象,如图:
    java基础学习 day51 (匿名内部类)_第1张图片
  • 格式整体其实是,一个类的子类对象,或一个接口的实现类对象

4. 匿名内部类的使用场景

  • 当方法的参数是接口时,则可以传递这个接口的实现类对象(接口的多态),如果实现类只要使用一次,就可以用匿名内部类简化代码,就不用再单独创建一个实现类了
  • 当方法的参数是类时,则可以传递这个类的子类对象,如果子类对象只要使用一次,也可以用匿名内部类简化代码,不用单独创建一个子类了,如图:
    java基础学习 day51 (匿名内部类)_第2张图片
  • 格式整体可以作为接口的实现类对象,并赋值给接口变量,实现接口多态,通过接口变量可以点出实现类内的方法如图:
    java基础学习 day51 (匿名内部类)_第3张图片
  • 格式整体也可直接链式编程,点出匿名内部类中的方法,如图:
    java基础学习 day51 (匿名内部类)_第4张图片

你可能感兴趣的:(java,学习)