I have MySubClass
that extends MySuperClass
. In MySuperClass
I call the method MySubClass.getMap()
from a static block in MySuperClass
but it alway returns null
.
I really don't get why because in the same static block in MySuperClass
I call MySubClass1.getMap()
, MySubClass2.getMap()
, MySubClass3.getMap()
and so on; these are all subclasses of MySuperClass
with that same identical format:
public class MySubClass extends MySuperClass {
public MySubClass(int a, String b) {
super(a, b);
}
public static HashMap<Integer, String> getMap() { return MAP; }
protected static final HashMap<Integer, String> MAP = new HashMap<Integer, String>();
static {
MAP.putAll(MySubSubClass.ABILITIES);
}
}
If I understand correctly from debugging (I'm relatively new to Java and Eclipse IDE), this static block up here doesn't get executed causing the null
return value.