Java Static Import es una de las características menos conocidas del core del lenguaje, pero a veces puede ser muy útil. La mayoría de los desarrolladores usan la palabra reservada “import” para importar las diferentes clases que va a utilizar en su programa.
package com.arquitecturajava; import java.util.ArrayList; public class PrincipalStatic2 { public static void main (String[] args) { ArrayList<String> lista= new ArrayList<String>(); lista.add("hola"); lista.add("que"); lista.add("tal"); } }
Existen situaciones en el que el uso de los imports no es suficiente. Por ejemplo en la siguiente situación en la que se usa la clase Math para realizar diferentes cálculos.
package com.arquitecturajava; import java.util.ArrayList; public class PrincipalStatic { public static void main (String[] args) { ArrayList<String> lista= new ArrayList<String>(); lista.add("hola"); lista.add("que"); lista.add("tal"); double resultado= Math.pow(2, 2); double resultado2= Math.pow(3,3); double resultado3= Math.PI*2; System.out.println(resultado); System.out.println(resultado2); System.out.println(resultado3); } }
Continuamente tenemos que escribir la palabra “Math” para invocar los diferentes métodos estáticos de la clase. Los Java Static Import, permiten solventar este problema. Ya que al importar una clase de forma estática será suficiente con invocar los métodos.
package com.arquitecturajava; import java.util.ArrayList; import static java.lang.Math.*; public class PrincipalStatic3 { public static void main (String[] args) { ArrayList<String> lista= new ArrayList<String>(); lista.add("hola"); lista.add("que"); lista.add("tal"); double resultado= pow(2, 2); double resultado2= pow(3,3); double resultado3= PI*2; System.out.println(resultado); System.out.println(resultado2); System.out.println(resultado3); } }
Ahora no es necesario invocar continuamente a la clase Math, de forma similar se puede aplicar sobre System.out:
package com.arquitecturajava; import java.util.ArrayList; import static java.lang.Math.*; import static java.lang.System.*; public class PrincipalStatic4 { public static void main (String[] args) { ArrayList<String> lista= new ArrayList<String>(); lista.add("hola"); lista.add("que"); lista.add("tal"); double resultado= pow(2, 2); double resultado2= pow(3,3); double resultado3= PI*2; out.println(resultado); out.println(resultado2); out.println(resultado3); } }  
Hay que recordar que System es una clase estática pero out no lo es de ahí que la simplificación no pueda ser tan fuerte. Los Java static import se usan de forma muy habitual con clases que disponen de un gran conjunto de métodos estáticos.
Otros artículos relacionados :
muy claro todo, gracias
Muchas Gracias
respuesta muy clara, me encanto!
de nada
Como puedo saber todos los miembros static de los import de Java?
me agrado la explicacion… muy clara y como de dice “directo y al hueso” gracias
gracias 🙂
[…] artículos relacionados: Java Static Import ,Java super() vs […]
Esto ayuda en el performance de una aplicación al ya no estar llamando a la case estatica Math o solo ayuda en la escritura de el codigo?
que yo sepa solo a la sintaxis 🙂