Question discussion

What is the output of the following Java program?class A { static void s() { System.out.print("A"); } void i() { System.out.print("a"); } }…

936Medium DSSSB TGT Computer Science 0 replies 1 views
0

What is the output of the following Java program?

class A {
    static void s() { System.out.print("A"); }
    void i() { System.out.print("a"); }
}
class B extends A {
    static void s() { System.out.print("B"); }
    void i() { System.out.print("b"); }
}
public class Main {
    public static void main(String[] args) {
        A x = new B(); x.s(); x.i();
    }
}
  • ABb
  • BBa
  • CAb
  • DAa
Correct answer: C

Explanation

Static methods are resolved by the reference type (A), so A is printed; the instance method is overridden and resolved at run time, so b is printed.

Discussion 0

Nobody has replied yet. Start the discussion!