CONSTRUCTORES Y DESTRUCTORES

Anuncio
INGENIERIA DE SISTEMAS
MÉTODOS Y ATRIBUTOS ESTÁTICOS (static)
La palabra static se utiliza para definir atributos (variables) y funciones (métodos) estáticos, la particularidad de
estos miembros estáticos es que se pueden acceder a ellos sin necesidad de instanciar la clase (sin necesidad de
crear un objeto de la clase), como ejemplo tenemos las funciones de la clase Math (pow, sin, random, etc.)
j=Math.pow(2,3);
Como se puede observar se puede acceder a la función pow de la clase Math, y no fue necesario crear un objeto de
la clase Math para poder acceder a la función pow
Ejemplo de una FUNCIÓN ESTÁTICA
La clase matematica tiene una función sumar que es estática
class Matematica
{
static int sumar(int a,int b)
{
return (a+b);
}
}
class Principal_matematica
{
public static void main(String args[])
{
int a=5;
int b=7;
int c=Matematica.sumar(a,b);
función estática
Se puede usar la función sumar de la clase
Matematica aunque no se haya creado un
objeto de la misma, debido a que esta
función es estática
System.out.println(c);
}
}
Nota. Un caso especial de función estática es la función main, se trata de una función estática
porque debe ser utilizada sin crear objetos de su clase.
VARIABLES ESTÁTICAS
Una variable estática no se asocia a un objeto, sino que se asocia a la clase misma; no hay copia del dato para
cada objeto sino una sola copia que es compartida por todos los objetos de la clase. A las variables estáticas se les
llama a veces “variables de clase”, por contraposición a las variables no estáticas que se les llama “variables de
objeto”.
Ejemplo
La clase punto contiene dos variables de tipo entero (x,y), y una variable también de tipo entero pero esta variable
es estática.
class Punto
{
int x,y;
static int cant=0;
public punto(int a,int b)
{
x=a;
y=b;
cant++;
}
variable estática
Al momento de crear un objeto de la clase
Punto, el constructor aumenta la variable
estática cant en uno.
}
class Principal_punto
{
public static void main(String args[])
{
Al crear el objeto p1, la variable cant aumenta en uno; canr=1
Punto p1=new Punto(5,0);
Punto p2=new Punto(2,12);
Punto p3=new Punto(1,10);
System.out.println(p1.cant);
System.out.println(p2.cant);
System.out.println(punto.cant);
}
}
Al crear el objeto p2, la variable cant aumenta en uno; cant=2
Al crear el objeto p3, la variable cant aumenta en uno; cant =3
Imprime 3, porque cant es variable estática
Imprime 3, porque cant es variable estática
Imprime 3. Tambien se puede acceder a una variable
estática sin haber creado una instancia de clase.
Descargar