Pertanyaan Bagaimana menemukan kelas yang mengimplementasikan antarmuka tertentu di Eclipse?


Saya memiliki aplikasi sebagai file JAR dengan banyak dependensi. Untuk beberapa alasan saya perlu mendekompilasi salah satu perpustakaan dan membukanya dengan Eclipse. Untuk antarmuka tertentu dalam proyek, apakah ada cara untuk menemukan kelas yang mengimplementasikannya? Mungkin saja antarmuka yang diterapkan di perpustakaan lain yang saya belum dekompilasi. Apakah mungkin untuk melakukan ini untuk kelas semacam ini?


76
2017-09-12 09:00


asal


Jawaban:


Klik kanan pada antarmuka, dan pilih "Open type hierarchy". Kemudian klik "Tampilkan hierarki subtipe".


96
2017-09-12 09:02



Mencoba Ctrl+T setelah memilih nama kelas; harus bekerja di Java Perspective.


40
2017-09-12 09:02



Anda dapat "Tampilkan Tipe Hierarki" pada item (Klik Kanan untuk memilih opsi ini atau tekan F4 saat item disorot) *.

Namun, ini hanya akan mencantumkan item dalam proyek-proyek yang dirujuk ("dependen"). Tidak pada orang lain.

Jadi jika Anda telah menguraikan stoples, dan ada toples lain yang belum Anda decompiled, maka implementasi (dari antarmuka) di dalam jar itu tidak akan dicantumkan.

Juga, katakanlah Anda telah mendekompilasi toples sebagai proyek dan ada proyek lain yang mengacu pada toples, dan bukan proyek dekompilasi, implementasi dalam itu juga tidak akan terdaftar.

Jadi Anda harus mendekompilasi semua guci dan menambahkannya sebagai proyek (dan menambahkan referensi melalui "Jalur Build Java") untuk memastikan semua implementasi dalam guci pilihan Anda terdaftar.

* Hirarki jenis cepat, ctrl  +  T  akan menampilkan struktur serupa di panel jenis tooltip / pelengkapan otomatis. Tetapi hierarki tipe lengkap lebih berguna untuk jenis analisis yang ingin Anda lakukan.


10
2017-09-12 09:03



Ada "Implementors" tombol radio di Pencarian Java.


7
2018-02-28 14:51



Atau klik kanan dan pilih Quick Type Hierarchy untuk menu pulldown memperluas antarmuka dan kelas pelaksana.


1
2017-09-12 09:04



Ctrl + H (Opsi Pencarian) Buka perspektif Pencarian Java dan, masukkan nama antarmuka, klik tombol radio Pelaksana dan Anda akan menemukan kelas yang mengimplementasikan antarmuka tertentu. Sama seperti jawaban dari stackexchanger di atas


0
2017-11-03 16:31



Pilih nama kelas, lalu 'F4' di Eclipse (lingkungan Windows)


0
2017-09-20 21:41