我需要通过现有抽象基类的匿名子类在 JavaScript 中实现一个侦听器,定义如下:
public class Speaker {
public static abstract class MyListener {
private String name;
public MyListener(final String name) { this.name = name; }
public abstract boolean listen(final String words);
}
}
在 java 中,实现监听器是通过匿名子类完成的:
MyListener newListener = new MyListener("George") {
public boolean listen(final String words) throws Exception { Thread.sleep(500); }
}
如果我尝试在 JavaScript 中这样做,我无法同时调用抽象基类的构造函数并实现虚函数。
如果我删除构造函数参数,它会起作用,然后以方法实现作为参数调用 MyListener() 会创建我需要的子类的实例。但我实际上需要使用构造函数参数和方法实现来调用构造函数。