有没有办法从 JavaScript (Nashorn) 获取和使用扩展的 Java 类?
我想做的是在 Nashorn 中扩展一个 Java 类,然后将其传递回 Java。例如,我们在 JS 中定义一个扩展另一个类的类:
var SomeClass= Java.type("com.test.SomeClass");
var MySomeClass = Java.extend(SomeClass, {
aMethod1: function() {
print("m1");
},
aMethod2: function() {
print("m2");
},
});
然后我尝试在 Java 中获取这个扩展对象,如下所示:Object mySomeClass = scriptEngine.get("MySomeClass");
但是,我无法在 Java 中对此对象进行任何方法调用。当我尝试将其强制转换为基类时,它总是会引发异常 - com.test.SomeClass
。
是否可以在 Java 中使用在 Nashorn (JS) 中创建的扩展类?