Overriding Methods

AP Computer Science A· difficulty 3/5

public class Base {
    public void show(int x) { System.out.print("int "); }
    public void show(double x) { System.out.print("double "); }
}
public class Sub extends Base {
    public void show(int x) { System.out.print("sub-int "); }
}
// Usage:
Base b = new Sub();
b.show(5);
b.show(5.0);

What is printed?

  • A

    int double

  • B

    sub-int int

  • C

    sub-int double

    check_circle
  • D

    sub-int sub-int

Explanation

show(int) is overridden in Sub, so b.show(5) calls Sub's version printing "sub-int ". show(double) is only in Base, so b.show(5.0) prints "double ".

Want 10 more like this — adaptive to your weak spots?

Related questions