Overriding Methods

AP Computer Science A· difficulty 3/5

public class Shape {
    public double area() { return 0.0; }
    public String describe() { return "Area=" + area(); }
}
public class Square extends Shape {
    public double area() { return 25.0; }
}
Shape s = new Square();
System.out.println(s.describe());

What is printed?

  • A

    Area=0.0

  • B

    Area=25.0

    check_circle
  • C

    Compile-time error

  • D

    Area=

Explanation

<code>describe()</code> calls <code>area()</code>. Through dynamic dispatch, <code>Square.area()</code> is invoked, returning 25.0.

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

Related questions