Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web

Atributos estáticos públicos

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