匿名类是一种动态扩展现有类的方法。
例如,考虑拥有一个类机器:
class Machine { public void start() { System.out.println("Starting..."); } }
创建Machine对象时,我们可以动态更改start方法。
public static void main(String[ ] args) { Machine m = new Machine() { @Override public void start() { System.out.println("Wooooo"); } }; m.start(); } //输出 "Wooooo";
在构造函数调用之后,我们打开了花括号并动态重写了start方法的实现。
@Override注释用于使您的代码更易于理解,因为它使重写方法时更加明显。