该如何理解匿名内部类的功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了该如何理解匿名内部类的功能?相关的知识,希望对你有一定的参考价值。

可不可以理解为没有构造器的特殊局部内部类,主要是用来临时扩充父类的功能,还可以当父类对象用?

参考技术A 匿名内部类
A、继承式的匿名内部类

  public class Car

  public void drive()

  System.out.println("Driving a car!");

  

  public static void main(String[] args)

  Car car = new Car()

  public void drive()

  System.out.println("Driving anther car!");

  

  ;

  car.drive();

  

  

  结果输出了:Driving another car! Car引用变量不是引用Car对象,而是Car匿名子类的对象。

  B、接口式的匿名内部类。

  interface Vehicle

  public void drive();

  

  class Test

  public static void main(String[] args)

  Vehicle v = new Vehicle()

  public void drive()

  System.out.println("Driving a car!");

  

  ;

  v.drive();

  

  
C、参数式的匿名内部类。

  class Bar

  void doStuff(Foo f)

  

  interface Foo

  void foo();

  

  class Test

  static void go()

  Bar b = new Bar();

  b.doStuff(new Foo()

  public void foo()

  System.out.println("foofy");

  

  );

  

  

提供了一些代码,你看一下,方便理解!
参考技术B 匿名类就是只用一次 在后续的代码不会使用该类的任何属性 就可以将此类做成匿名类
不知道说的对你有没有帮助 新手 说错了别拿板砖

以上是关于该如何理解匿名内部类的功能?的主要内容,如果未能解决你的问题,请参考以下文章

java内部类的匿名内部类

Java学习笔记之二十六深入理解Java匿名内部类

对 Java 的匿名内部类理解

Java学习笔记3.8.4 内部类 - 匿名内部类

Java内部类之匿名内部类

匿名内部类