Junior
Co jsou to anonymní třídy a kde se používají?
sobes.tech AI
Odpověď od AI
Anonymní třída je místní vnitřní třída bez jména.
-
Použití:
- Při vytváření posluchačů událostí v GUI aplikacích (například pro tlačítka).
- Pro implementaci rozhraní nebo rozšíření abstraktních tříd "na místě", když je potřeba pouze jedna instance a její použití je lokální.
- V multithreadingu pro vytváření instancí
RunnableneboCallable.
-
Výhody:
- Zkracují množství kódu, když není potřeba opakované použití třídy.
- Zjednodušují čtení kódu pro jednoduché, jednorázové implementace.
-
Nevýhody:
- Mohou ztížit čitelnost kódu u složitých implementací.
- Nelze je znovu použít.
- Přístup k polím vnější třídy je možný pouze přes
finalnebo efektivně finalní proměnné v starších verzích Javy.
// Příklad použití anonymní třídy pro Runnable
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Běh v anonymním vlákně.");
}
};
new Thread(myRunnable).start();
// Příklad použití anonymní třídy pro posluchače událostí (hypotetický)
// Některé UI frameworky používají takový přístup.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Tlačítko bylo stisknuto!");
// }
//});