Ich bin auf der Suche zu sagen, wenn eine bestimmte Methode in einer Schnittstelle aufgerufen wird, da eine einfache Schnittstelle:Wie kann man sagen, wenn eine Methode in einer Schnittstelle aufgerufen wird
public interface Foo {
String bar();
int foobar();
}
Ich möchte in der Lage sein, etwas zu tun wenn bar()
in einer anderen Klasse aufgerufen wird, aber ich möchte andere Klassen implementieren Foo
und @Override
seine Methoden.
Denken Sie daran, dass ich die Klasse Foo
nicht bearbeiten kann.
Bar muss außer Kraft gesetzt werden, um angerufen zu werden. Warum nicht beim Überschreiben implementieren? –
Was meinen Sie mit "Sie möchten gesagt werden, wenn bar()" aufgerufen wird. Warum willst du das? Ich frage, weil es eigentlich keinen sauberen Weg dafür gibt. Oder mit anderen Worten: Es ist sehr wahrscheinlich, dass Ihr Gesamtdesign gebrochen ist, wenn Sie denken, dass Sie solche Informationen benötigen (zur Laufzeit). Also erzähl uns bitte ein bisschen mehr ... – GhostCat
Du kannst es mit aspektorientierter Programmierung machen: http://aspects.jcabi.com/ und speziell etwas wie die 'Loggable' Annotation: http://aspects.jcabi.com/ apidocs-0.22.3/com/jcabi/aspects/Loggable.html –