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(...)時/之後實際創建一個對象。 :) –