0 / 60 seg.

What does this Java code demonstrate?

public abstract class Shape {
    public abstract double area();
}
public class Circle extends Shape {
    private double radius;
    public Circle(double radius) { this.radius = radius; }
    @Override
    public double area() { return Math.PI * radius * radius; }
    public static void main(String[] args) {
        Shape shape = new Circle(2.0);
        System.out.println(shape.area());
    }
}