Sobes.tech
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 Runnable arba Callable pavyzdž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 final arba 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!");
//    }
//});