class A { public static void main(String[] args)
{ A a = new A();
B b = new B();
A ab = new B();
System.out.format("%d %d %d %d %d %d", a.x, b.x, ab.x, a.y, b.y, ab.y); }
int x = 2;
int y = 3;
A(int x) { this.x = x; }
A() { this(7); } }
class B extends A {
int y = 4;
B() { super(6);
}
Hola a todos, estaba viendo algunos ejemplos de mi curso y encontré este problema que me dejó perplejo.
que dan cuenta de que que este código debe imprimir "7 6 6 3 4 3"Clases reales vs aparentes en Java
Pero ¿por qué es ab.y igual a 3? ¿No es el tipo de objeto "real" ab de la clase B? ¿Qué me llevaría entonces a creer que ab.y sea 4?
De acuerdo, eso aclara mucho, ¡gracias! –