public class Ellipse extends GeometricObject { //inherits from superclass GeometricObject: // methods: getColor setColor isFilled setFilled getDateCreated toString // Can not directly access inherited 'color' 'filled' 'dateCreated' fields // because they are private in superclass. private double a, b; public Ellipse() { //compiler inserts: super(); //call of superclass' 0-arg constructor } public Ellipse(double a, double b) { //compiler inserts: super(); this.a = a; this.b = b; } public double getArea() { return a * b * Math.PI; } public double getPerimeter() { return Math.PI*(3*(a+b)-Math.sqrt((3*a+b)*(a+3*b))); } public String toString() { return super.toString() + " a: " + a + " b: " + b; } }