Sto avendo difficoltà a trovare l'opzione corretta per il refactoring il seguente scenario:Come rifattorizzare una classe interna statica in una classe di livello superiore in Eclipse?
Ho codice come questo (in Outer.java):
public class Outer {
// ... class stuff
public static class Inner {
// ... inner class stuff
}
}
Sto cercando un modo per selezionare Interna, e convertirlo in una classe di livello superiore, nel proprio file sorgente .java
. So che questo è abbastanza facile da fare manualmente con copia/incolla ecc., Ma la classe interna viene referenziata in molti punti e vorrei che l'opzione refactor gestisse la modifica ovunque venisse referenziata.
Ho provato l'opzione Refactor -> Extract Class...
ma questo fa qualcosa di strano con un campo chiamato data
che non capisco.
versione di Eclipse è 3.5.1 Galileo.
Come faccio a rifattorizzare una classe interna statica come classe di livello superiore?
Modifica: Non posso credere di aver trascurato l'opzione per farlo. Grazie per tutte le vostre risposte corrette, +1 a tutti voi. Dovrò comunque accettare una risposta, quindi se ci sono altre informazioni utili, ad es. trucchi con la sceneggiatura, c'è ancora uno scopo di lasciare una risposta.
Sembra che nel Helios rilasciare la funzionalità è stato rinominato in "Sposta tipo a New File ...". – ArtB
E assicurati di selezionare solo la classe/l'interfaccia, non tutto il suo contenuto, anche. – xamde
Potrebbe essere facile, ma l'ho trovato leggendo questa risposta! – reinierpost