Estoy teniendo problemas para encontrar la opción correcta para perfeccionar por el siguiente escenario:¿Cómo refactorizar una clase interna estática a una clase de nivel superior en Eclipse?
tengo código como este (en Outer.java):
public class Outer {
// ... class stuff
public static class Inner {
// ... inner class stuff
}
}
Busco una forma de seleccionar interior, y se ha convertido a una clase de nivel superior, en su propio archivo fuente .java
. Sé que esto es bastante fácil de hacer manualmente con copiar/pegar, etc., pero se hace referencia a la clase interna en muchos lugares, y me gustaría que la opción de refactorización maneje el cambio en todos los sitios a los que se hace referencia.
He intentado la opción Refactor -> Extract Class...
pero eso hace algo extraño con un campo llamado data
que no entiendo del todo.
La versión de Eclipse es 3.5.1 Galileo.
¿Cómo puedo refactorizar una clase interna estática para que sea una clase de nivel superior?
Editar: No puedo creer, pasé por alto la opción de hacer esto. Gracias por todas sus respuestas correctas, +1 a todos ustedes. Todavía necesitaré aceptar una respuesta, así que si hay más información útil, p. problemas con el guión, todavía hay un propósito para dejar una respuesta.
Parece que en el Helios liberar la funcionalidad ha sido renombrado a "mover el texto en archivo nuevo ...". – ArtB
Y asegúrese de seleccionar solo la clase/interfaz, no todo su contenido, también. – xamde
¡Puede ser fácil, pero lo encontré leyendo esta respuesta! – reinierpost