Supposons que j'ai une classe Java avec une méthode statique, comme ceci:Quelle classe a appelé ma méthode statique?
class A { static void foo() { // Which class invoked me? } }
Et suppose en outre que la classe a un nombre arbitraire de sous-classes:
class B extends A { } class C extends A { } class D extends A { } ...
Considérons maintenant les invocations de méthodes suivantes :
A.foo(); B.foo(); C.foo(); D.foo(); ...
Ma question est, comment méthode peut foo()
dire quelle classe est l'invoquer?
Yuck. Ça marche; mais la réflexion de l'IIRC a été délibérément faite laide pour décourager ce genre de choses. – jamesh
Je cherchais un moyen d'écrire une méthode utilitaire statique 'trace (String s)' telle que, si une méthode de la classe Foo invoquait 'trace (" hi ")', elle écrirait dans SYSOUT: ** Foo: hi **. Cela semble faire l'affaire. – Chap