Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我看到了这些代码。
我从未见过这样的构造函数,但我猜它创建了一个带有抽象方法实现的新 A 实例。
这叫什么?
new A() { @Override public void onEvent() { dosomething(); } };
你指的是匿名类吗?当您提供实现但从未定义命名类时。换句话说,您正在就地提供对象;你不能在其他地方重用这个定义,因为你从来没有写过class MyClass {},这就是为什么它是“匿名的”。
class MyClass {}
看到这个。
这是一个 A 类型的对象,它覆盖了 A 类的 onEvent 方法。这称为匿名类,它覆盖了一个方法