Junior
Mis on anonüümsed klassid ja kus neid kasutatakse?
sobes.tech AI
Vastus AI-lt
Anonüümne klass on kohaliku sisemise klassina nimeta.
-
Rakendused:
- Sündmuste kuulajate loomine GUI rakendustes (näiteks nuppude jaoks).
- Liideste või abstraktsete klasside "kohapeal" laiendamine, kui vaja on ainult ühte eksemplari ja selle kasutus on lokaalne.
- Multithread programmeerimises
RunnablevõiCallableeksemplaride loomine.
-
Eelised:
- Vähendab koodimahu, kui klassi taaskasutus ei ole vajalik.
- Lihtsustab koodi lugemist lihtsate ja ühekordsete rakenduste puhul.
-
Puudused:
- Võib muuta koodi vähem loetavaks keerukate rakenduste puhul.
- Ei saa taaskasutada.
- Välise klassi väljadele juurdepääs toimub ainult
finalvõi efektiivselt final muutujate kaudu vanemates Java versioonides.
// Näide anonüümse klassi kasutamisest `Runnable` jaoks
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Teostamine anonüümse klassi lõimes.");
}
};
new Thread(myRunnable).start();
// Näide anonüümse klassi kasutamisest sündmuse kuulajana (hüpoteetiline)
// Mõned UI raamistikud kasutavad sellist lähenemist.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Nupp klõpsatud!");
// }
//});