Con la tecnología de Blogger.

Miembros estáticos


Las variables de clase o miembros estáticos son aquellos a los que se antepone el modificador static.


Vamos a comprobar que un miembro dato estático guarda el mismo valor en todos los objetos de dicha clase.

Sea una clase denominada Alumno con dos miembros dato, la nota de selectividad, y un miembro estático denominado nota de corte. La nota es un atributo que tiene un valor distinto para cada uno de los alumnos u objetos de la clase Alumno, mientras que la nota de corte es un atributo que tiene el mismo valor para a un conjunto de alumnos. Se define también en dicha clase una función miembro que determine si está (true) o no (false) admitido.

public class Alumno {

double nota;
static double notaCorte=6.0;
public Alumno(double nota) {
this.nota=nota;
}

boolean estaAdmitido(){

return (nota>=notaCorte);
}
}

Creamos ahora un array de cuatro alumnos y asignamos a cada uno de ellos una nota.

Alumno[] alumnos={new Alumno(5.5), new Alumno(6.3), new Alumno(7.2), new Alumno(5.0)};

Contamos el número de alumnos que están admitidos

int numAdmitidos=0;
for(int i=0; i<alumnos.length; i++){
if (alumnos[i].estaAdmitido()){
numAdmitidos++;
}
}

System.out.println("admitidos "+numAdmitidos);

Accedemos al miembro dato notaCorte desde un objeto de la clase Alumno, para cambiarla a 7.0

alumnos[1].notaCorte=7.0;

Comprobamos que todos los objetos de la clase Alumno tienen dicho miembro dato estático notaCorte

cambiado a 7.0

for(int i=0; i<alumnos.length; i++){

System.out.println("nota de corte "+alumnos[i].notaCorte);
}

El miembro dato notaCorte tiene el modificador static y por tanto está ligado a la clase más que a cada uno de los objetos de dicha clase. Se puede acceder a dicho miembro con la siguiente sintaxis:

Nombre_de_la_clase.miembro_estático

Si ponemos

Alumno.notaCorte=6.5;

for(int i=0; i<alumnos.length; i++){

System.out.println("nota de corte "+alumnos[i].notaCorte);
}

Veremos que todos los objetos de la clase Alumno habrán cambiado el valor del miembro dato estático

notaCorte a 6.5.

Un miembro dato estático de una clase se puede acceder desde un objeto de la clase, o mejor, desde la clase misma.
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario

Gracias por comentar ;-)