Java入门

匿名类

2022-04-20  本文已影响0人  朱兰Juran

匿名类是一种即时继承现有类的方法。

例如,下面有一个类 Computer:

class Computer {

  public void start() {

    System.out.println("Starting");

  }

}

创建 Computer 对象时,我们可以即时更改 start 方法。

public static void main(String[] args) {

  Computer c = new Computer() {

    @Override public void start() {

      System.out.println("Wooooo");

    }

  };

  c.start();

}

// 输出 "Wooooo";

在构造函数调用之后,我们使用花括号,并且重写了 start 方法的实现。

提示:@Override注解用于使代码更容易理解,因为当方法被重写时,它更加明显。


修改只适用于当前对象,而不适用于类本身。

所以,如果我们创建这个类的另一个对象,那么 start 方法的实现就是在类中定义的那个。

class Computer {

  public void start() {

    System.out.println("Starting");

  }

public static void main(String[] args) {

  Computer c1 = new Computer() {

    @Override public void start() {

      System.out.println("Wooooo");

    }

  };

  Computer c2 = new Computer();

  c2.start();

  }

//输出 "Starting"

上一篇 下一篇

猜你喜欢

热点阅读