public abstract class Shape {
public abstract double area();
public String describe() { return "Area=" + area(); }
}
public class Square extends Shape {
private double side;
public Square(double s) { side = s; }
public double area() { return side * side; }
}
// Usage:
Shape s = new Square(3);
System.out.print(s.describe());What is printed?
- A
Area=0.0
- Bcheck_circle
Area=9.0
- C
Compile error
- D
Area=3.0
Explanation
describe() is inherited from Shape and calls area(). Polymorphic dispatch invokes Square's area, returning 9.0.