Cuando se usa así:
import static com.showboy.Myclass;
public class Anotherclass{}
¿Cuál es la diferencia entre import static com.showboy.Myclass
y import com.showboy.Myclass
?
fuente
Cuando se usa así:
import static com.showboy.Myclass;
public class Anotherclass{}
¿Cuál es la diferencia entre import static com.showboy.Myclass
y import com.showboy.Myclass
?
Ver documentación
La declaración de importación estática es análoga a la declaración de importación normal. Cuando la declaración de importación normal importa clases de paquetes, lo que permite su uso sin calificación de paquete, la declaración de importación estática importa miembros estáticos de clases, lo que permite su uso sin calificación de clase.
Entonces, ¿cuándo deberías usar la importación estática? Muy escasamente! Úselo solo cuando de lo contrario estaría tentado a declarar copias locales de constantes o abusar de la herencia (el antipatrón de interfaz constante). En otras palabras, úselo cuando requiera acceso frecuente a miembros estáticos de una o dos clases. Si usa en exceso la función de importación estática, puede hacer que su programa sea ilegible e imposible de mantener, contaminando su espacio de nombres con todos los miembros estáticos que importe. Los lectores de su código (incluido usted, unos meses después de que lo escribió) no sabrán de qué clase proviene un miembro estático. Importar todos los miembros estáticos de una clase puede ser particularmente dañino para la legibilidad; Si solo necesita uno o dos miembros, impórtelos individualmente. Utilizado adecuadamente, la importación estática puede hacer que su programa sea más legible,
include
en Ruby!No hay diferencia entre esas dos importaciones que declaras. Sin embargo, puede usar la importación estática para permitir el acceso no calificado a miembros estáticos de otras clases. Donde solía hacer esto:
Puedo hacer esto:
Puedes ver más en la documentación .
fuente
La importación estática se utiliza para importar campos / métodos estáticos de una clase en lugar de:
Puedes escribir :
Es útil si a menudo usa una constante de otra clase en su código y si la importación estática no es ambigua.
Por cierto, en su ejemplo "import static org.example.Myclass;" no funcionará: la importación es para la clase, la importación estática es para los miembros estáticos de una clase.
fuente
La idea básica de la importación estática es que siempre que esté utilizando una clase estática, una variable estática o una enumeración, puede importarlos y ahorrarse algo de tipeo.
Elaboraré mi punto con el ejemplo.
Mismo código, con importaciones estáticas:
Nota : la importación estática puede hacer que su código sea confuso de leer.
fuente
import static java.lang.Math
sin el asterisco?El primero debería generar un error de compilación ya que la importación estática solo funciona para importar campos o tipos de miembros. (suponiendo que MyClass no sea una clase interna o miembro de showboy)
Creo que quisiste decir
lo que hace que todos los campos estáticos y miembros de MyClass estén disponibles en la unidad de compilación real sin tener que calificarlos ... como se explicó anteriormente
fuente
El
import
permite al programador de Java para las clases de acceso de un paquete sin cualificación paquete.La
static import
característica permite acceder a los miembros estáticos de una clase sin la calificación de clase.El
import
proporciona acceso a clases y la interfaz mientras questatic import
proporciona acceso a miembros estáticos de la clase.Ejemplo:
Con importación
Con importación estática
Consulte también: ¿Qué es la importación estática en Java 5?
fuente
Supongamos que tiene campos y métodos estáticos dentro de una clase llamada
MyClass
dentro de un paquete llamadomyPackage
y desea acceder a ellos directamente escribiendomyStaticField
omyStaticMethod
sin escribir cada vezMyClass.myStaticField
oMyClass.myStaticMethod
.Nota: debe hacer un
import myPackage.MyClass
omyPackage.*
para acceder a los otros recursosfuente
El
static
modificador posteriorimport
es para recuperar / usar campos estáticos de una clase. Un área en la que usoimport static
es para recuperar constantes de una clase. También podemos aplicarimport static
sobre métodos estáticos. Asegúrese de escribirimport static
porquestatic import
está mal.Qué hay
static import
en Java - JavaRevisited - Un muy buen recurso para saber másimport static
.fuente