Hinweis: Ich stelle nicht die uralte Frage, warum äußere Variablen, auf die in einer anonymen Klasse zugegriffen wird, als final deklariert werden müssen.Hat das Hinzufügen des Schlüsselwortes "final" zu Methoden in anonymen Klassen Auswirkungen?
Wenn eine anonyme Klasse in Java erstellen, können Sie zusätzliche Methoden hinzufügen, wenn Sie es wünschen:
Runnable r = new Runnable() {
public void run() {
internal();
}
public void internal() {
.. code ..
}
};
jedoch Java können Sie auch die zusätzlichen Methoden wie final
erklären:
public final void internal() { ... }
Meine Frage ist: Sind diese Methoden nicht bereits effektiv endgültig, und hat das Hinzufügen des final
Schlüsselwortes irgendwelche Auswirkungen?
Weil es Parsing einfacher macht? – kennytm
Sie können feststellen, ob die Methode "final" ist oder nicht, wenn Sie eine Reflektion für diese Klasse verwenden. –
Nun, Java erlaubt es bereits, "final" auf Methoden in Klassen zu schreiben, die selbst 'final' sind, obwohl es absolut unnötig ist ... –