Una clase TIPO DE DATOS puede no tener estructura o atributos. Puede no tener constructor,... entonces tiene automáticamente un constructor por defecto...., o puede no tener cuerpo de métodos.
Ahora, por ejemplo tenemos una clase TIPO DE DATOS con sólo estructura. (Funcionará el constructor por defecto).
Ahora, por ejemplo tenemos una clase TIPO DE DATOS con sólo estructura. (Funcionará el constructor por defecto).
public class Punto {
public double x = 13.0;
public double y = 28.7;
}
Con esto tenemos la clase TIPO DE DATOS Punto, funcional pero muy poco operatividad.
El constructor por defecto será:
Punto p = new Punto ();
public double x = 13.0;
public double y = 28.7;
}
Con esto tenemos la clase TIPO DE DATOS Punto, funcional pero muy poco operatividad.
El constructor por defecto será:
Punto p = new Punto ();
Podemos hacerla ejecutar con una clase Programa:
public class ProgramaPunto{
public static void main(String[] arg){
Punto p = new Punto();
System.out.println("x = "+p.x +"; "+ "y= "+p.y);
System.out.println("x = "+p.x +"; "+ "y= "+p.y);
//los atributos son llamados por el punto p como si fueran métodos,
//por ser públicos o tb si fueran friendly
double distanciaOrigen = Math.sqrt(p.x * p.x + p.y * p.y);
System.out.println("distancia al origen = "+distanciaOrigen);
// distanciaOrigen no es un método, sino una variable elemental double
}
}
Si la ejecutamos, tendremos estos resultados:
x =13.0; y = 28.7
distancia al origen = 31.506983352901305
Si un mismo objeto del heap es referenciado por varias variables referencia, todas ellas actúan como una sola, y se puede acceder al objeto y modificarlo desde cualquiera de ellas, siendo el mismo valor del objeto para todas ellas.
Si a una de las variables referencia se le asigna el valor null, sólo ésta variable referencia toma éste valor, quedando desreferenciada y el garbage collector la elimina.
No hay comentarios:
Publicar un comentario