У меня недавно возникла проблема с инициализацией моего объекта.
У меня есть класс (он настроен таким образом для постоянного хранения и загрузки данных)
public class Example extends SuperExample{
private String name = "";
public Example(){
super();
}
public String getName(){
return name;
}
@Override
protected void load(){
name = "Example";
}
}
public abstract class SuperExample{
protected abstract void load();
public SuperExample(){
//Do stuff
load();
}
}
getName()
то, что вызывается после инициализации объекта, возвращает ""
, а не "Example"
.
Есть идеи, какова может быть причина root? Если бы я установить name
в конструкторе, он работает нормально. Но когда он проходит через super
, он ошибается.
Example e = new Example();
System.out.println(e.getName());