Tu portal de
formación online

Infórmate
Inicio » Catálogo » Curso de Programación en Java » Variables estáticas o de clase

Curso de Programación en Java

Variables estáticas o de clase

Dentro de las variables de instancia hay otro tipo de variables que merecen ser estudiadas, estas son las variables estáticas o también llamadas variables de clase.

Variables estáticas

Son variables propias únicamente de la clase y no de los objetos que puedan crearse dentro de la misma, por lo tanto, sus valores son compartidos por todos los objetos de la clase.

Si van precedidas del modificador static se considera que es una variable estática.

Esta variable será única para todos los objetos de la clase y el compilador le asignará un único lugar en la memoria. 

Si no van precedidas del modificador static el compilador asignará un lugar en la memoria cada vez que se instancie la variable, esto hará que pueda tener un valor diferente según el objeto de la clase que la esté utilizando. 

Para invocar a una variable estática no se necesita crear un objeto de la clase en la que se define:

  • Si se invoca desde la clase en la que se encuentra definido, basta con escribir su nombre.
  • Si se le invoca desde una clase distinta, debe anteponerse a su nombre, el de la clase en la que se encuentra seguido del operador punto (.) <NombreClase>.variableEstatica

Suelen emplearse para definir variables comunes a todos los objetos de la clase.

También se les llama atributos estáticos de la clase.
 public class SerHumanoBis{
    String nombre;
    String colorOjos;
    int edad;
    /*
     * Declaración e inicialización de una variable de instancia estática
     * Tiene sentido declararla estática pues todos los objetos
     * de la clase, teniendo en cuenta que ésta modela a un ser humano,
     * habitan en el mismo planeta
     */
    static String planeta="Tierra";
    void mostrarCaracteristicas(){
        System.out.println(nombre+" tiene "+edad+" años");
        System.out.println("Sus ojos son "+colorOjos);
        System.out.println("Su planeta es la "+planeta);
    }
    void eresMayorEdad(){
        if(edad>=18){
            System.out.println(nombre+" es mayor de edad");
            System.out.println("Tiene "+edad+" años");
        }
        else{
            System.out.println(nombre+" es menor de edad");
            System.out.println("Tiene "+edad+" años");
        }
    }
    public static void main(String args[]){
        SerHumanoBis shb1=new SerHumanoBis();
        shb1.nombre="Jesus";
        shb1.colorOjos="azules";
        shb1.edad=28;
        shb1.mostrarCaracteristicas();
        shb1.eresMayorEdad();
        
        System.out.println("---------------------");
        SerHumanoBis shb2=new SerHumanoBis();
        shb2.nombre="Rebeca";
        shb2.colorOjos="verdes";
        shb2.edad=27;
        shb2.mostrarCaracteristicas();
        shb2.eresMayorEdad();
        System.out.println("---------------------");
        System.out.println("FIN DEL PROGRAMA");
    }
}

 

 public class AreaCirculo{
    /**
     * Declaración e inicialización de la variable de instancia estática 
     * valorPi mediante la variable de campo estática PI de la clase 
     * java.lang.Math de la API. Como PI no se encuentra en la clase 
     * AreaCirculo, debe anteponerse el nombre de la clase en la que se 
     * encuentra definida, es decir, Math.
     */
    static double valorPi=Math.PI;
    double radio=10.3;
    public static void main(String args[]){
        AreaCirculo ac=new AreaCirculo();
        /**
         * A radio se accede mediante un objeto de la clase ya que no es 
         * estática, a valorPi directamente ya que es estática y está en la 
         * clase desde la que se accede
         */
        double area=valorPi*ac.radio*ac.radio;
        System.out.println("Area circulo de radio "+ac.radio+"= "+area);
    }
}

Si desea obtener un acceso sin restricciones a los contenidos del curso de Programación en Java y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.
Este sitio web utiliza cookies de terceros con la finalidad de analizar el uso que hace de nuestra web y personalizar el contenido de los anuncios. Si continúa navegando entendemos que acepta su uso. Más información × Cerrar