Spisie treści
Kiedy pracujemy nad budowaniem interfejsów użytkownika w Jawa, musimy zwrócić szczególną uwagę i wysiłek, aby zbudować różne metody Słuchacz lub detektory, które przechwytują wszystkie zdarzenia, które można wygenerować na podstawie działań użytkownika.Ile razy każda z tych klas Słuchacz będą one służyły jedynie do używania i konsumpcji konkretnego komponentu systemu lub aplikacji, którą budujemy, nie ma większego sensu tworzenie kompletnych i oddzielnych klas.
Dlatego mamy zajęcia anonimowe, za pomocą którego możemy skrócić definicję Słuchacz a tym samym uprościć jego wdrażanie w naszych programach.
Jak wspomnieliśmy na początku, kiedy budujemy komponenty typu Słuchacz Aby obsłużyć zdarzenia elementów naszych interfejsów użytkownika, mają one na ogół bardzo konkretny cel, którego nie można ponownie wykorzystać, dlatego możemy wybrać generowanie ich jako klas zagnieżdżonych i tym samym nieco uprościć generowany kod.
Zajęcia anonimoweJednak jako dobrzy programiści z pewnością będziemy musieli poprawić rzeczy i uczynić je jeszcze prostszymi, tutaj zajęcia anonimowe, pozwalają nam one generować zagnieżdżona klasa i jej instancja w jednym kroku, dzięki temu zapewniamy ułatwienie rozwoju różnych interfejsów użytkownika.
Zobaczmy poniżej kilka przykładów, jak możemy zaimplementować klasę anonimową, zaczynając od klasy zagnieżdżonej:
Widzimy, że w pierwszej części definiujemy a metoda publiczna a następnie wewnątrz tego tworzymy klasę zagnieżdżoną, ta klasa jest odpowiedzialna za implementację a Berło w celu wdrożenia Słuchacz dla zdarzeń, które można wygenerować w programie.
Na dole zrobiliśmy to samo, co na początku, tylko że zamiast definiować klasę zagnieżdżoną, definiujemy anonimowa klasa, za pomocą którego możemy zaimplementować interfejs i wykonać instancję w jednym kroku, skutecznie redukując w ten sposób linie kodu do wykonania.
- A anonimowa klasa w rzeczywistości jest to specjalny typ klasy zagnieżdżonej i będzie traktowany jako taki, jednak nie może tego zrobić rozciąga się lub przybory wyraźnie.
- A anonimowa klasa musi zawsze implementować abstrakcyjne metody superklasy lub Berło.
- ten zajęcia anonimowe zawsze będą używać bezargumentowej formy konstruktora wyższej klasy. W przypadku zaimplementowania interfejsu konstruktor będzie Obiekt.
- Dla każdej anonimowej klasy, która jest skompilowana, Jawa wygeneruje plik .class, w którym każdy będzie identyfikowany przez kolejność, w jakiej są pobierane, na przykład KlasaZewnętrzny $ 1klasa, KlasaZewnętrzna 2 USD.klasa i tak dalej.