significa - Java: instrucción de importación vs nombre completo?
package java (6)
Intenté encontrar una respuesta a esto en línea y en mi propio conocimiento, pero parece que no puedo encontrar una respuesta definitiva y clara.
Supongamos que solo estoy usando una clase de otro paquete que necesita ser importada, digamos myPack.anotherPackage.ClassName
.
¿Cuál es la diferencia, en su caso, entre el uso de un estado de importación :
import myPack.anotherPackage.ClassName;
versus usar un nombre completamente calificado :
myPack.anotherpackage.ClassName classInst = new myPack.anotherpackage.ClassName();
?
Obviamente, esta pregunta solo se aplica si ClassName
solo se usa una vez.
Ninguno, en mi opinión. Mire el bytecode: no habrá diferencia.
javap -c <your class>
Por lo que sé, no hay diferencia. La única diferencia es la verbosidad de tu código. En general, cuanto más detallado es más difícil de leer. ¿Quizás mira el bytecode?
1. Se trata más del valor de readability
que de la importancia functional
.
2. La declaración de import
proporciona un cleaner code
que usar el nombre completo del paquete junto con la class
o el nombre de la interface
.
3. Pero debe tener cuidado al importar paquetes que son ambiguos.
`java.awt.List` and `java.util.List`
Luego debe importar uno completo y uno con el nombre completo del paquete, como a continuación
import java.util.List;
and
java.awt.List l = new java.awt.List();
No hay diferencia después de compilar el código. En ambos casos, el código de byte tendrá nombres totalmente calificados, es decir, los nombres de las clases se reemplazan por nombres calificados por el compilador de forma automática. Es solo para facilitar la vida de los programadores, donde no tenemos que escribir un nombre completamente calificado para referirnos a una clase.
Las declaraciones de importación hacen que su código sea más legible , ya que no está saturando el código con el paquete completo.
En caso de que haya un conflicto de ClassNames
, solo en ese caso es aconsejable buscar nombres completos .
No existe una diferencia real, especialmente para su caso simple específico que se cita aquí. Ver Java: ¿usar importar o un nombre explícito de paquete / clase?