Eclipse'de hangi sınıfların belirli bir arabirimi uyguladığını nasıl bulabilirim?


88

Birçok bağımlılığı olan JAR dosyası olarak bir uygulamam var. Nedense kütüphanelerden birini derlemem ve Eclipse ile açmam gerekiyor. Projedeki belirli bir arayüz için, onu uygulayan sınıfları bulmanın bir yolu var mı? Arayüzün henüz derlemesini çözmediğim başka bir kitaplıkta gerçekleştirilmiş olması durumu olabilir. Bu tür dersler için bunu yapmak mümkün mü?

Yanıtlar:


116

Arayüze sağ tıklayın ve "Açık tip hiyerarşisi" ni seçin. Ardından "Alt tür hiyerarşisini göster" e tıklayın.


Bana hiçbir şey göstermedi, "Alt tür hiyerarşisini göster" i tıkladığımda, sınıfın uyguladığı değil, Arayüzü görüyorum.
Am1rr3zA

1
Bu, projenin Java Derleme Yolundaki hiçbir sınıfın bu arabirimi uygulamadığı anlamına gelir. Eclipse elbette potansiyel sınıfları bilmek zorundadır: bunları içeren jar dosyası projenin Java Derleme Yolunda olmalıdır.
JB Nizet

Java Derleme Yoluna Başka bir jar dosyası eklemem gerektiğini mi söylüyorsunuz?
Am1rr3zA

5
Evet tabi ki. Eclipse yalnızca sınıf yolundaki sınıfları bilir. Arayüzünüzü uygulayan bir sınıf bulmak için tüm sabit diskinizi taramayacaktır.
JB Nizet

Java Derleme Yoluma başka bir Jar dosyası ekledim ancak yine de uygulamayı göstermedim. ve eminim bazı sınıflar bunu uygular çünkü Reflection aracılığıyla onu kullanabilirim.
Am1rr3zA

47

Sınıf adını seçtikten sonra Ctrl+ deneyin T; Java Perspective ile çalışmalıdır.


10

Öğe üzerinde "Tür Hiyerarşisini Göster" yapabilirsiniz (Bu seçeneği seçmek için Sağ Tıklayın veya F4öğe vurgulandığında düğmesine basın ) *.

Ancak, bu yalnızca bu projelerdeki başvurulan öğeleri ("bağımlı") listeleyecektir. Başkalarında değil.

Dolayısıyla, bir kavanozu derlediyseniz ve derlemediğiniz başka bir kavanoz varsa, o kavanozdaki uygulamalar (arayüzün) listelenmeyecektir.

Ayrıca, bir kavanozu bir proje olarak derlediğinizi ve derlenmiş proje yerine jar'e atıfta bulunan başka bir proje olduğunu varsayalım, bu projedeki uygulamalar da listelenmeyecektir.

Bu nedenle, seçtiğiniz kavanozlardaki tüm uygulamaların listelendiğinden emin olmak için tüm kavanozları derlemeniz ve projeler olarak eklemeniz (ve "Java Oluşturma Yolu" aracılığıyla referanslar eklemeniz) gerekir.

* Hızlı tip Hiyerarşi ctrl + T , araç ipucu / otomatik tamamlama türündeki bir panelde benzer bir yapı gösterecektir. Ancak tam tür hiyerarşisi, yapmayı planladığınız analiz türü için daha kullanışlıdır.


8

Java Aramasında radyo düğmesi "Uygulayıcılar" vardır.


3
Soruya nasıl cevap vermiyor? Java Aramasını açın, arayüz adını girin, "Uygulayıcılar" ı tıklayın ve "hangi sınıfların belirli bir arayüzü uyguladığını" bulacaksınız.
stackexchanger

1

Ya da sağ tıklayın ve Quick Type Hierarchyarayüzleri genişletme ve sınıfları uygulama için bir açılır menü seçin .


Sağ tıklayıp Hızlı Tür Hiyerarşisini seçtiğimde, sınıfın uyguladığı değil, Arabirimi görüyorum
Am1rr3zA

0

Ctrl + H (Arama Seçeneği) Java Arama perspektifini açın ve arayüz adını girin, Uygulayıcılar radyo düğmesine tıklayın ve hangi sınıfların belirli bir arayüzü uyguladığını göreceksiniz. Yukarıdaki stackexchanger'ın cevabı ile aynı


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.