Cześć.
package pkg1;
public class Cl1 {
protected int x = 123456;
}
package pkg2;
import pkg1.Cl1;
public class Cl2 extends Cl1 {
public void m() {
System.out.println(x);
}
}
package pkg3;
import pkg2.Cl2;
public class Cl3 extends Cl2 {
public int x = 3456789;
public void m2() {
System.out.println(x);
}
public static void main(String args[]) {
Cl3 c = new Cl3();
c.m();
c.m2();
}
}
java pkg3.Cl3
123456
3456789
Jak to "naukowe" a nie "improwizowane" wytłumaczenie tego, że najpierw jest wypisywane "123456"?
Chodzi o to, że na poziomie kompilacji Cl2 nie znamy jeszcze czegoś takiego jak Cl3?
Dzięki za pomoc.