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);
}
Hej wszystkim, właśnie przeglądałem przykłady z mojego kursu i natknąłem się na ten problem, który mnie zaskoczył.
Zdaję sobie sprawę, że że kodeks ten powinien wydrukować "7 6 6 3 4 3"Prawdziwe vs Pozorne zajęcia w Javie
Ale dlaczego ab.y równa 3? Czy nie jest "prawdziwym" typem obiektu ab klasy B? Który następnie doprowadziłby mnie do przekonania, że ok. 4 lata?
W porządku, czyści to dużo, dzięki! –