Sobes.tech
Junior

Šta su anonimne klase i gde se koriste?

sobes.tech АИ

Одговор од АИ

Anonimna klasa je lokalna unutrašnja klasa bez imena.

  • Primene:

    • Pri kreiranju slušaoca događaja u GUI aplikacijama (npr. za dugmad).
    • Za implementaciju interfejsa ili proširenje apstraktnih klasa "na licu mesta", kada je potrebna samo jedna instanca i njena upotreba je lokalna.
    • U višepotprogramiranju za kreiranje instanci Runnable ili Callable.
  • Prednosti:

    • Smanjuju količinu koda kada nije potrebna ponovna upotreba klase.
    • Olakšavaju čitanje koda za jednostavne, jednokratne implementacije.
  • Nedostaci:

    • Mogu učiniti kod manje čitljivim za složene implementacije.
    • Ne mogu se ponovo koristiti.
    • Pristup poljima spoljašnje klase je moguć samo putem final ili efektivno finalnih promenljivih u starijim verzijama Jave.
// Primer korišćenja anonimne klase za Runnable
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Izvršavanje u anonimnom nitnom.");
    }
};

new Thread(myRunnable).start();
// Primer korišćenja anonimne klase za slušaoca događaja (hipotetički)
// Neki UI okviri koriste ovakav pristup.
//button.setOnAction(new EventHandler<ActionEvent>() {
//    @Override
//    public void handle(ActionEvent event) {
//        System.out.println("Dugme je kliknuto!");
//    }
//});