Java-da anonim siniflər nədir və harada tətbiq oluna bilər?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da anonim sinflar, adı olmayan yerli sinflardır. Eyni zamanda elan edilir və yaradılırlar. Adətən, bir interfeys üçün tək istifadəlik tətbiq və ya abstrakt və ya adi sinfin genişləndirilməsi lazım olduqda istifadə olunur.
Anonim sinfların tətbiqləri:
-
GUI-də hadisə emalçıları: Tez-tez düymələrə və ya digər istifadəçi fəaliyyətlərinə klik emalçıları yaratmaq üçün istifadə olunur.
// Swing ActionListener ilə nümunə JButton button = new JButton("Mənə kliklə"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Düymə basıldı!"); } }); -
Bir abstrakt metod ilə interfeyslərin tətbiqi (SAM interfeyslər): Lambda ifadələri ortaya çıxmazdan əvvəl, bu cür interfeyslər üçün funksionallıq tətbiq etmək üçün əsas üsul idi.
// Runnable ilə nümunə new Thread(new Runnable() { @Override public void run() { System.out.println("İş parçacı işə salındı"); } }).start(); -
"İş vaxtı" obyektlərin yaradılması: Mövcud sinifə dəyişdirilmiş davranış ilə sürətlə obyekt yaratmaq lazım olduqda, ayrıca adlandırılmış sinf yaratmağa ehtiyac olmadan.
// Abstrakt sinfi genişləndirmə nümunəsi AbstractList<String> cityList = new AbstractList<String>() { private String[] cities = {"Moskva", "Sankt-Peterburq"}; @Override public String get(int index) { return cities[index]; } @Override public int size() { return cities.length; } }; System.out.println(cityList.get(0)); // Çıxış: Moskva
Anonim sinflar, elan olunduğu yerdə final və ya effektiv final olan yerli dəyişənlərə giriş edə bilər. Onlar statik üzvlərə malik ola bilməz və abstract və ya final ola bilməzlər.