2
有没有办法从JavaScript(Nashorn)获取和使用扩展Java类?从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)中创建的扩展类?
谢谢麦克道威尔,它现在有效。我的错误很简单,我忘了在使用Java.Extend(...)时/之后实际创建一个对象。 :) –