import java.awt.Color; public class Shape { protected Color color; // color of the shape protected boolean filled; // true means filled, false means open public Shape() { System.out.println("Running Shape() constructor"); color = Color.BLUE; // default color is blue filled = false; // not filled by default } public Shape(Color c, boolean f) { System.out.println("Running Shape constructor with params"); color = c; filled = f; } public void setColor(Color c) { color = c; // okay to copy references, because Color // objects are immutable once created } public void setFilled(boolean f) { filled = f; } public Color getColor() { return color; } public boolean getFilled() { return filled; } public void draw() { System.out.println("Start the drawing of the shape"); } }