21 oct 2014

Métodos y atributos estáticos en Java

Se puede aplicar el especificador static, tanto a atributos como a métodos. Los atributos declarados con static pertenecen a la clase, y no a un objeto concreto de ella. Su valor se comparte para todos los objetos de esa clase.

[public] class Nombreclase {
static tipo atributo;
static tipo metodo(parametros) {
// código
}
}

Desde un método con alcance de clase o método static de una clase, sólo es posible acceder a características (atributos y métodos) static, pero no a atributos y métodos no static. Sin embargo desde un no static, se puede acceder a ambas características, las static y las no static.
Un miembro estático se crea cuando se carga la aplicación que contiene la clase y existe durante toda la vida de la aplicación. Se puede acceder al miembro incluso antes de que la clase se haya instanciado, a través del nombre de la clase, de esta forma:
Nombreclase.metodo();
Nombreclase.atributo = valor;

Para poder acceder a un miembro no estático, es necesario crear un objeto y acceder al miembro mediante el descriptor:
Nombreclase objeto = new objeto(param);
objeto.metodo(param);
Un atributo estático suele llevar un modificador de acceso public, protected, o sin modificador para poder ser accesible desde el exterior.


Un método estático no puede utilizar this y super.

No hay comentarios:

Publicar un comentario