Sobes.tech
Junior

Kas ir anonīmās klases un kur tās tiek izmantotas?

sobes.tech AI

Atbilde no AI

Anonīma klase ir vietēja iekšējā klase bez nosaukuma.

  • Pielietojumi:

    • Notikumu klausītāju izveide GUI lietojumprogrammās (piemēram, pogām).
    • Interfeisu īstenošana vai abstraktu klasu paplašināšana "vietā", kad nepieciešama tikai viena instance un tās izmantošana ir vietēja.
    • Multithread programmēšanā Runnable vai Callable instanču izveide.
  • Priekšrocības:

    • Samazina koda apjomu, ja klase nav nepieciešama atkārtota izmantošana.
    • Vienkāršo koda lasāmību vienkāršām, vienreizējām realizācijām.
  • Trūkumi:

    • Var padarīt kodu mazāk lasāmu sarežģītām realizācijām.
    • Nav atkārtoti izmantojama.
    • Piekļuve ārējās klases laukiem ir iespējama tikai caur final vai efektīvi finaliem mainīgajiem vecākās Java versijās.
// Piemērs, kā izmantot anonīmu klasi `Runnable`
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Darbojas anonīma klase šūnā.");
    }
};

new Thread(myRunnable).start();
// Piemērs, kā izmantot anonīmu klasi notikumu klausītājam (hipotētisks)
// Daži UI ietvari izmanto šo pieeju.
//button.setOnAction(new EventHandler<ActionEvent>() {
//    @Override
//    public void handle(ActionEvent event) {
//        System.out.println("Poga nospiesta!");
//    }
//});