使用 Javascript Rhino 重载 Java 方法
我有一个类,如下所示,我想使用 Javascript Rhino 覆盖这两种方法,有什么建议吗?
提前致谢!!
class MyClass() {
public void method1();
public void method2();
MyClass() {
method1();
method2();
}
}
I have a class such the one below and I would like to override both methods using Javascript Rhino, any suggestions?
Thanks in advance!!
class MyClass() {
public void method1();
public void method2();
MyClass() {
method1();
method2();
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
上次我使用它时,JDK 捆绑的 Rhino 不支持扩展类(仅实现 SAM 接口),但 Mozilla 的 Rhino 确实支持重写类。查看
JavaAdapter
:https ://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java#The_JavaAdapter_ConstructorThe last time I used it, the JDK bundled Rhino didn't support extending classes (only implementing SAM interfaces), but Mozilla's Rhino does support overriding classes. Check out the
JavaAdapter
: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java#The_JavaAdapter_Constructor虽然我没有在 Android 环境中尝试过这一点,但 Rhino 确实支持 JavaAdapter 构造 - 如以下所示: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java#The_JavaAdapter_Constructor 它允许您创建一个定义正确方法的 JS 对象,然后在单个超类和/或一个或多个接口之间有效地创建包装器。在这种情况下,类似:
While I've not tried this in an Android environment, Rhino does support a JavaAdapter construct - as seen at: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java#The_JavaAdapter_Constructor which allows you to create a JS object defining the correct methods, and then to create effectively a wrapper between a single superclass, and/or one or more interfaces. In this case, something like: