hallöchen community,
vorab, ein hallöchen an die community
mit regnerischen grüßen aus dem norden.
ich hoffe die die durchgehende missachtung der groß- und kleinschreibung stört keinen^^.
zudem bin ich relativ neu in java und seit ein paar minuten in hier in dem forum angemeldet.
bisher kam ich eigentlich ganz gut zurecht, nur habe ich jetzt eine verständnis frage.
ich habe mir eine kleine abstracte klasse "DefaultMain" geschrieben, die mir die arbeit fürs JFrame abnimmt.
am ende des konstruktor rufe ich die abstracte methode "init()" auf.
in der "Main" klasse die von "DefaultMain" erbt habe ich eine ArrayList mit dem typ <BasicEntity>
(BasicEntity abstract, BasicBot abstract erbt BasicEntity, Worker class erbt BasicBot)
nun die eigentlich frage
wieso kann ich
nicht direkt initialisieren und in der "init()" methode ein object der klasse worker hinzufügen?
mir fliegt immer eine "NullPointerException" um die ohren.
erst wenn ich die variable deklariere und in der "init()" zuweise und danach dann ein neues object der klasse worker erzeuge und hinzufüge klappt das ganze.
ich hoffe das war verständlich ???:L
LG Bananabert
vorab, ein hallöchen an die community
ich hoffe die die durchgehende missachtung der groß- und kleinschreibung stört keinen^^.
zudem bin ich relativ neu in java und seit ein paar minuten in hier in dem forum angemeldet.
bisher kam ich eigentlich ganz gut zurecht, nur habe ich jetzt eine verständnis frage.
ich habe mir eine kleine abstracte klasse "DefaultMain" geschrieben, die mir die arbeit fürs JFrame abnimmt.
am ende des konstruktor rufe ich die abstracte methode "init()" auf.
in der "Main" klasse die von "DefaultMain" erbt habe ich eine ArrayList mit dem typ <BasicEntity>
(BasicEntity abstract, BasicBot abstract erbt BasicEntity, Worker class erbt BasicBot)
nun die eigentlich frage
wieso kann ich
Java:
public List<BasicEntity> List = new ArrayList<BasicEntity>();
protected void init() {
List.add(new Worker(1, 50, 50));
}
mir fliegt immer eine "NullPointerException" um die ohren.
erst wenn ich die variable deklariere und in der "init()" zuweise und danach dann ein neues object der klasse worker erzeuge und hinzufüge klappt das ganze.
Java:
public List<BasicEntity> List;
protected void init() {
List = new ArrayList<BasicEntity>();
List.add(new Worker(1, 50, 50));
}
ich hoffe das war verständlich ???:L
LG Bananabert