Do czego służą anonimowe klasy w Javie?
1 odpowiedź
Przez „anonimową klasę” rozumiem, że masz na myśli anonimową klasę wewnętrzną.
Anonimowa klasa wewnętrzna może się przydać, gdy tworzy się instancję obiektu z pewnymi „dodatkami”, takimi jak metody przesłonięcia, bez konieczności faktycznej podklasy klasy.
Zwykle używam go jako skrótu do dołączenia detektora zdarzeń:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// kod
}
});
Zastosowanie tej metody sprawia, że kodowanie jest trochę szybsze, ponieważ nie muszę tworzyć dodatkowej klasy, która implementuje ActionListener
- mogę po prostu utworzyć anonimową klasę wewnętrzną bez tworzenia osobnej klasy.
Używam tej techniki tylko do „szybkich i brudnych” zadań, w których tworzenie całej klasy wydaje się niepotrzebne. Posiadanie wielu anonimowych klas wewnętrznych, które robią dokładnie to samo, należy przekształcić w klasę rzeczywistą, czy to klasę wewnętrzną, czy osobną.