Junior
Τι είναι οι ανώνυμες κλάσεις και πού εφαρμόζονται;
sobes.tech AI
Απάντηση από AI
Μια ανώνυμη κλάση είναι μια τοπική εσωτερική κλάση χωρίς όνομα.
-
Εφαρμογές:
- Κατά τη δημιουργία ακροατών συμβάντων σε εφαρμογές GUI (π.χ., για κουμπιά).
- Για την υλοποίηση διεπαφών ή την επέκταση αφηρημένων κλάσεων "στο σημείο", όταν χρειάζεται μόνο ένα αντίγραφο και η χρήση του είναι τοπική.
- Στον προγραμματισμό πολλαπλών νημάτων για τη δημιουργία αντιγράφων
RunnableήCallable.
-
Πλεονεκτήματα:
- Μειώνουν τον όγκο κώδικα όταν δεν απαιτείται επαναχρησιμοποίηση της κλάσης.
- Απλοποιούν την ανάγνωση του κώδικα για απλές, μονοχρησιμοποιούμενες υλοποιήσεις.
-
Μειονεκτήματα:
- Μπορεί να κάνουν τον κώδικα λιγότερο ευανάγνωστο για πολύπλοκες υλοποιήσεις.
- Δεν μπορούν να επαναχρησιμοποιηθούν.
- Η πρόσβαση στα πεδία της εξωτερικής κλάσης γίνεται μόνο μέσω μεταβλητών
finalή αποτελεσματικά τελικών σε παλαιότερες εκδόσεις Java.
// Παράδειγμα χρήσης ανώνυμης κλάσης για Runnable
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Εκτέλεση σε ανώνυθο νήμα.");
}
};
new Thread(myRunnable).start();
// Παράδειγμα χρήσης ανώνυμης κλάσης για ακροατή συμβάντων (υποθετικό)
// Μερικά UI frameworks χρησιμοποιούν αυτήν την προσέγγιση.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Το κουμπί πατήθηκε!");
// }
//});