/ / Wie lautet die Terminologie für diese Java-Codestruktur? - Java

Was ist die Terminologie für diese Java-Codestruktur? - Java

Ich benutze dies jetzt häufiger inJava, aber ich weiß nicht, wie es heißt. Im Wesentlichen gibt es eine Funktion, die einen Typ als Parameter annimmt, und innerhalb der Funktion gibt es überschriebene Funktionen / Methoden, die verwendet werden können. Diese Funktionen können innerhalb von Funktionen ausgeführt werden, die von verfügbar gemacht werden die Hauptklasse. Zum Beispiel:

public class Whatisthis {

private OtherLibsomeCallback theCallback;

public void dothatthang{

//What do you call this kind of code structure?
someCallback(window, theCallback = new OtherLibsomeCallback() {

@Override
public void invoke(long a, double b) {
// TODO Auto-generated method stub
globalVar = a + b;
}
});
}
}

Antworten:

2 für die Antwort № 1

Dies nennt man das Anonymous Klasse.

Dies ist aus den Oracle-Dokumenten:

Anonymous classes enable you to make your code more concise. They enable you to declare and instantiate a class at the same time. They are like local classes except that they do not have a name.


0 für die Antwort № 2

Man kann es als kurze Handcodiertechniken bezeichnen.

Der Code verwendet Anonymous class als Argument zu funktionieren.


0 für die Antwort № 3

Das ist Anonyme innere Klasse

die auf verschiedene Arten deklariert werden kann. Es wird meistens verwendet, wenn Sie eine Funktion der Basisklasse / Schnittstelle überschreiben möchten (meistens abstrakte Klasse / Schnittstelle). es gibt reine Vererbungsfunktion. und es wird auch zur gleichen Zeit deklariert und instanziiert, wie @Abhishek sagte.

Sie können auch eine anonyme innere Klasse im Aufruf der Methode verwenden als:

object.someMethod(new Object(){
// you can override method here
});