|
|||||||
|
|
|
|||||
|
|
|||||||
Este tipo de elementos, se pueden definir como un atributo, común a todas las instancias de la misma clase.
Para acceder a este atributo no necesariamente se tiene que crear una instancia de clase.Se
puede realizar a través del nombre de la clase , o a través de la instancia.
Ejemplo :
System.out.println("maximo entero : " + Integer.MAX_VALUE);
Integer e = new Integer(5);
System.out.println("maximo entero : " + e.MAX_VALUE);
Si se crean por ejemplo 100 instancias de clase, en memoria sólo va a exitir una sola copia del atributo, evitando la duplicación inútil.
Declaración
public static tipo identificador = valor;
Si se quiere tener un atributo estático constante, hay que poner la palabra
reservada final antes de static. Esto permite, que no se pueda modificar
el valor del atributo en tiempo de ejecución.
* nota : es común, que las constantes sean declaradas
con mayúsculas, para así poder diferenciarlas de las variables comunes.
Ej : public final static double DIAMETRO = 0.05;
Ejemplo
Se crea una clase rueda, que sólo tiene como atributos, una constante estática representando el radio y un atributo estático representando la presión.
class rueda
{
public final static int RADIO = 45;
public static int presion = 3;
public static main(String arg[])
{
:
:
}
}
Ahora procedemos a realizar un programa de prueba que consiste en crear tres objetos
de tipo rueda para ir
mostrando en pantalla como cambia el atributo presión
ante diferentes accesos a esta.
También se muestran las propiedades comúnes a todas
las instancias de clase, accediendo directamente a través de la clase
rueda ( rueda.RADIO , rueda.presion ).
Salida a pantalla
Codigo fuente
class rueda
{
public final static int RADIO = 45;
public static int presion = 3;
public static void main(String arg[ ])
{
rueda a = new rueda( );
rueda b = new rueda( );
rueda c = new rueda( );
System.out.println("\n radio comun : " + rueda.RADIO);
System.out.println(" presion comun : " + rueda.presion);
System.out.println("\n aumentando la presion a todas las ruedas ...\n");
rueda.presion++;
System.out.println("\trueda\tpresion\tradio");
System.out.println("\t-----\t-------\t-----");
System.out.println("\ta\t" + a.presion + "\t" + a.RADIO);
System.out.println("\tb\t" + b.presion + "\t" + b.RADIO);
System.out.println("\tc\t" + c.presion + "\t" + c.RADIO);
System.out.println("\n aumentando la presion de la rueda c ...");
c.presion++;
System.out.println("\n Efectos del desequilibrio : \n");
System.out.println("\trueda\tpresion\tradio");
System.out.println("\t-----\t-------\t-----");
System.out.println("\ta\t" + a.presion + "\t" + a.RADIO);
System.out.println("\tb\t" + b.presion + "\t" + b.RADIO);
System.out.println("\tc\t" + c.presion + "\t" + c.RADIO);
System.out.println("\n Fin prueba.\n");
}
}
Bajar archivo