Mam aplikację jako plik JAR z wieloma zależnościami. Z jakiegoś powodu muszę zdekompilować jedną z bibliotek i otworzyć ją za pomocą Eclipse. Czy dla danego interfejsu w projekcie istnieje sposób na znalezienie klasy (klas), które go implementują? Może się zdarzyć, że interfejs został zaimplementowany w innej bibliotece, której jeszcze nie zdekompilowałem. Czy można to zrobić na tego typu zajęciach?
88
Spróbuj Ctrl+ Tpo wybraniu nazwy klasy; powinien działać w Java Perspective.
źródło
Możesz „Pokaż hierarchię typów” na elemencie (kliknij prawym przyciskiem myszy, aby wybrać tę opcję lub naciśnij, F4gdy element jest podświetlony) *.
Jednak spowoduje to wyświetlenie tylko elementów w projektach, do których się odnoszą („zależne”). Nie w innych.
Więc jeśli zdekompilowałeś jar, a jest inny jar, którego nie zdekompilowałeś, to implementacje (interfejsu) w tym pliku jar nie zostaną wymienione.
Załóżmy również, że zdekompilowałeś jar jako projekt i istnieje inny projekt, który odnosi się do jar, a nie zdekompilowany projekt, implementacje w nim również nie zostaną wymienione.
Będziesz więc musiał zdekompilować wszystkie pliki JAR i dodać je jako projekty (i dodać odwołania za pomocą „Ścieżki budowania Java”), aby upewnić się, że wszystkie implementacje w wybranych plikach JAR są wymienione.
* Szybka Hierarchia typów, ctrl + T pokaże podobną strukturę w panelu podpowiedzi / autouzupełniania. Jednak pełna hierarchia typów jest bardziej przydatna w przypadku rodzaju analizy, którą zamierzasz przeprowadzić.
źródło
W wyszukiwarce Java znajduje się przycisk „Implementatory”.
źródło
Lub kliknij prawym przyciskiem myszy i wybierz,
Quick Type Hierarchy
aby wyświetlić rozwijane menu rozszerzające interfejsy i klasy implementujące.źródło
Ctrl + H (opcja wyszukiwania) Otwórz perspektywę Java Search i wprowadź nazwę interfejsu, kliknij przycisk radiowy Implementors, a zobaczysz, które klasy implementują określony interfejs. To samo, co odpowiedź z stackexchanger powyżej
źródło
Wybierz nazwę klasy, a następnie „F4” w Eclipse (środowisko Windows)
źródło