Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Rhino中抽象类的匿名实现_Java_Javascript_Scripting_Abstract Class_Rhino - Fatal编程技术网

Java Rhino中抽象类的匿名实现

Java Rhino中抽象类的匿名实现,java,javascript,scripting,abstract-class,rhino,Java,Javascript,Scripting,Abstract Class,Rhino,我需要通过现有抽象基类的匿名子类在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);

我需要通过现有抽象基类的匿名子类在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(),将方法实现作为参数,就会创建我需要的子类的实例。但是我实际上需要调用构造函数,同时调用构造函数参数和方法实现


它是关于实现接口的,但可能是适用的。

我不清楚您是如何尝试将Javascript引入这个问题的。你能提供一个你尝试过但没有成功的例子吗?我有一个用Java编写的脚本应用程序。我可以使用JS控制台进行一些操作(通过调用应用程序类的方法)。我想写一个脚本来处理这个应用程序的一些事件,但要做到这一点,我需要实现一个侦听器。不起作用的地方:我无法在Rhino:JS控制台中编写“x=Speaker.MyListener(“George”,函数(单词){sleep();})”获取InvocationTargetException并退出。