What will be displayed?

class A {
    int x = 1;

    public void printX() {
        System.out.println(getX());
    }

    public int getX() {
        return x;
    }
}

class B extends A {
    int x = 2;

    public int getX() {
        return x + 1;
    }
}

public class Test {
    public static void main(String[] args) {
        A classA = new B();
        classA.printX();
    }
}
Explanation
Method printX() displays the value returned by the method getX(). This brings overlapped method of class B, which returns x+1 and the field value x is also taken from the class B.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты