moin Bernd :)
Beispiel:
class X {
public static test() {
return Klassenname;
}
}
A extends X {
}
B extends X {
}
B.test() sollte nun "B" ausgeben und A.test() "A"
Meine Frage nun: Wie bekomme ich in der statischen Methode raus, über welche Klasse die Methode aufgerufen wurde?
Meine Antwort: gar nicht
Das was du vorhast ist auch nicht sehr sinnvoll, da statische Methoden immer direkt aufgerufen werden sollten und nicht über Kindklassen.
Am einfachsten kannst du dein Problem lösen, wenn du deine Methode test() jeweils in den Klassen A und B überschreibst.
Bei nicht-statischen Methoden gibt es ja this.getClass() und bei Klassen kann man die Klasse mit X.class rausbekommen - aber wie geht letzteres von innerhalb einer Klasse aus für sich selbst. Es müsste doch ein statisches Pendant zu "this" geben??
Soweit ich weiss, gibt es sowas nicht. Wozu auch?
liebe Grüße aus Berlin
lina-
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)