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
RunnableiliCallable.
-
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
finalili 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!");
// }
//});