Я работаю с движком nashorn, я пытаюсь расширить следующий класс Java
public abstract class AbstractClass {
protected String name;
protected long id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public void init() {
}
Код Javascript: в методе init () я хочу получить доступ к членам суперкласса (напрямую установить значение защищенных полей или использовать общедоступные сеттеры)
var extended = Java.extend(AbstractClass.static , {
init: function() {
extended.name = "name"; //name is null
setName("name") //exception <eval>:6 ReferenceError: "setName" is not defined
}
});
В java я создаю экземпляр объекта и вызываю метод инициализации, но поле «name» имеет значение null.
я также пробовал использовать Java.super (расширенный) .setName ("name"); но это вызвало исключение <eval>:7 TypeError: Cannot call undefined
Как я могу получить доступ к членам суперкласса из javascript и nashorn?