Junior
142
Kas yra anoniminės klasės ir kur jos taikomos?
Atsakymas iš AI
sobes.tech AI
Anoniminė klasė yra vietinė vidinė klasė be vardo.
-
Pritaikymai:
- Rengiant įvykių klausytojus GUI programose (pavyzdžiui, mygtukams).
- Interfeisų įgyvendinimui arba abstrakčių klasių "vietoje" plėtimui, kai reikalingas tik vienas egzempliorius ir jo naudojimas yra vietinis.
- Multithread programavime
RunnablearbaCallablepavyzdžių kūrimui.
-
Privalumai:
- Sumažina kodo kiekį, kai nereikia pakartotinai naudoti klasės.
- Supaprastina kodo skaitymą paprastoms, vienkartinėms realizacijoms.
-
Trūkumai:
- Gali padaryti kodą mažiau skaitomą sudėtingoms realizacijoms.
- Negali būti pakartotinai naudojama.
- Prieiga prie išorinės klasės laukų vyksta tik per
finalarba efektyviai finalias kintamąsias senesnėse Java versijose.
// Pavyzdys, kaip naudoti anonimines klases `Runnable`
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Vykdymas anoniminiame gijoje.");
}
};
new Thread(myRunnable).start();
// Pavyzdys, kaip naudoti anonimines klases įvykių klausytojui (hipotetinis)
// Kai kurie UI karkasai naudoja tokį požiūrį.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Mygtukas paspaustas!");
// }
//});