it-swarm.it

Come trovare quali classi implementano una particolare interfaccia in Eclipse?

Ho un'applicazione come file JAR con molte dipendenze. Per qualche ragione ho bisogno di decompilare una delle librerie e aprirla con Eclipse. Per una determinata interfaccia nel progetto, c'è un modo per trovare le classi che la implementano? È possibile che l'interfaccia sia stata implementata in un'altra libreria che non ho ancora decompilato. È possibile farlo per questo tipo di lezioni?

82
Am1rr3zA

Fare clic con il tasto destro del mouse sull'interfaccia e selezionare "Apri tipo gerarchia". Quindi fare clic su "Mostra la gerarchia dei sottotipi".

107
JB Nizet

Provare Ctrl+T dopo aver selezionato il nome della classe; dovrebbe funzionare in Java Prospettiva.

43
Scorpion

È possibile "Mostra gerarchia dei tipi" sull'elemento (Fare clic con il tasto destro per scegliere questa opzione o premere F4 quando l'elemento è evidenziato) *.

Tuttavia, questo elencherà solo gli elementi in quei progetti a cui si fa riferimento ("dipendenti"). Non negli altri.

Quindi, se hai decompilato un jar e c'è un altro jar che non hai decompilato, le implementazioni (dell'interfaccia) in quel jar non verranno elencate.

Inoltre, supponiamo che tu abbia decompilato un vaso come progetto e che ci sia un altro progetto che si riferisce al vaso, e non al progetto decompilato, anche le implementazioni in quello non saranno elencate.

Quindi dovrai decompilare tutti i barattoli e aggiungerli come progetti (e aggiungere riferimenti tramite "Java Build Path") per assicurarti che tutte le implementazioni nei barattoli di tua scelta siano elencate.

* Tipo rapido Gerarchia, ctrl + T mostrerà una struttura simile in un pannello di tipo tooltip/completamento automatico. Ma la gerarchia completa dei tipi è più utile per il tipo di analisi che si intende fare.

11
Nivas

C'è un pulsante di opzione "Implementors" in Java Cerca.

7
Vlad

Oppure fai clic con il tasto destro e seleziona Quick Type Hierarchy per un menu a discesa con estensione delle interfacce e implementazione delle classi.

1

Seleziona il nome della classe, quindi "F4" in Eclipse (ambiente Windows)

0

Ctrl + H (Opzione di ricerca) Apri Java Cerca prospettiva e, inserisci il nome dell'interfaccia, fai clic sul pulsante di opzione Implementatori e troverai quali classi implementano una particolare interfaccia. Come nella risposta dello stackexchanger sopra

0
Rohit Mathur