ich eine Basisklasse haben wie dieseJava Klasse Instanziierung mit Block-
abstract class BaseClass {
protected Class<? extends iBase> _BASE = null;
protected static abstract class iBase {}
protected BaseClass() {
setBase();
}
protected void setBase() {
// use reflection to find fields, but...
// _BASE is null?
}
}
und erweitern sie mit einer Klasse wie dieses
public class MyClass extends BaseClass {
{ // what is this called? Anonymous Block Class Statements?
_BASE = iBase.class;
} // does this get called before constructor starts?
public static class iBase extends BaseClass.iBase { // yes, it is hiding super
public static final String someValue = "";
}
public MyClass() {
super();
}
}
, wenn ich die neue Klasse
instanziiert gehenMyClass myClass = new MyClass();
_BASE
ist null, warum? Ich setze es eindeutig
Sie könnten die Klasse als Argument an den Konstruktor '' 'BaseClass'' übergeben. –
// Wie heißt das? Anonyme Blockklassenanweisungen? - Dies sind Instanz (im Gegensatz zu statischen) Initialisierung Blöcke – Andreas
@Dici Ursache mit Reflektion Ich kann die Felder der Unterklasse, Ursachen die Eltern-Sets keine – nuebKitsune