import java.util.ArrayList; public class Driver { public static void main(String[] args) { //Shape s = new Shape(); Interfaces cannot have instances. Shape r = new Rectangle(6, 8); System.out.println(r.area()); System.out.println(r.diameter()); System.out.println(r.perimeter()); // System.out.println(r.numSides()); r can't see numSides r = new Circle(10); System.out.println(r.area()); System.out.println(r.diameter()); System.out.println(r.perimeter()); Polygon p = new Rectangle(5,12); System.out.println(p.area()); System.out.println(p.diameter()); System.out.println(p.perimeter()); System.out.println(p.numSides()); ArrayList al = new ArrayList<>(); al.add(new Rectangle(6,8)); al.add(new Circle(10)); al.add(new Rectangle(5,12)); System.out.println(al); System.out.println(silly(p)); } public static double silly(Shape s) { return s.area() + s.diameter() + s.perimeter(); } }