Прошу объяснить результат компиляции
class A{
int a = 3;
int returnA(){
System.out.println("Klass A"+a);
return a;
}
}
class B extends A{
int a = 5;
int returnA(){
System.out.println("Klass B"+a);
return a;
}
public static void main(String[] args) {
A test1 = new B();
System.out.println(test1.a+" "+test1.returnA());
}
}
Почему output данного кода будет:
Klass B5
3 5
а не
3 Klass B5
5
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Потому что действия выполняются в таком порядке
public static void main(String[] args) {
A test1 = new B();
int __temp1 = test1.returnA(); // -> Klass B5
String __temp2 = test1.a+" "+__temp1;
System.out.println(__temp2); // -> 3 5
}