public abstract class Shape {
public abstract double area();
public double doubleArea() { return 2 * area(); }
}
public class Square extends Shape {
private double s;
public Square(double side) { s = side; }
public double area() { return s * s; }
}
// Usage:
Shape sh = new Square(4);
System.out.print(sh.doubleArea());What is printed?
- A
8.0
- B
16.0
- C
Compile error
- Dcheck_circle
32.0
Explanation
doubleArea() in Shape calls area(). Polymorphic dispatch picks Square's area (16.0), then 2*16.0 = 32.0.