Importar clases estáticas en Java

Con la finalidad de acceder a métodos estáticos, es necesario especificar la clase de la que ellos provienen. A partir del JDK 1.5, Java nos proporciona un mecanismo que nos permite acceder a miembros estáticos sin la necesidad de especificar la clase a la que pertenecen.
El siguiente ejemplo nos muestra cómo sería un programa normal en Java:
public class Demo {

    public static void main(String[] args) {

        try {
            double r = Math.cos(Math.PI * 5.0);
            System.out.println("El valor de r es = " + r);
        } catch (Exception ex) {
            System.err.println("Error: " + ex);
        }

    }
}
Y utilizando la declaración static import:
import static java.lang.System.out;
import static java.lang.System.err;
import static java.lang.Math.*;

public class Demo {

    public static void main(String[] args) {

        try {
            double r = cos(PI * 5.0);
            out.println("El valor de r es = " + r);
        } catch (Exception ex) {
            err.println("Error: " + ex);
        }

    }
}
La declaración static import es análoga a la declaración import, pues mientras la segunda importa toda clases desde paquetes permitiendo su uso sin la especificación de los paquetes de donde provienen, la declaración static import permite la importación de clases permitiendo el uso de sus miembros estáticos sin la especificación de la clase de la que provienen.

Comentarios