Zdravim, mohol by mi niekto vysvetlit preco nasledujuci kod
Kód:
public class Main {
public static void main(String[] args) {
A z = new B();
System.out.println(z.i);
z.m();
}
}
class A {
int i = 1;
void m() {
System.out.println("A: " + i);
}
}
class B extends A {
int i = 2;
@Override
void m() {
super.m();
System.out.println("B: " + i);
}
}
poskytne tento vystup:
1
A: 1
B: 2
Presnejsie nerozumiem preco System.out.println(z.i) v metode main() vytlaci 1 a nie 2.
Dakujem
