rava2
home
documentation
examples
public class Main { public static void main(String[] args) { Drawable[] shapes = new Drawable[3]; shapes[0] = new Circle(5.0); shapes[1] = new Rectangle(4.0, 6.0); shapes[2] = new Circle(3.0); for (int i = 0; i < shapes.length; i++) { shapes[i].draw(); System.out.println(" Area: " + shapes[i].area()); } } } interface Drawable { void draw(); double area(); } class Circle implements Drawable { private double radius; Circle(double radius) { this.radius = radius; } public void draw() { System.out.println("Drawing circle with radius " + radius); } public double area() { return 3.14159 * radius * radius; } } class Rectangle implements Drawable { private double width; private double height; Rectangle(double width, double height) { this.width = width; this.height = height; } public void draw() { System.out.println("Drawing rectangle " + width + "x" + height); } public double area() { return width * height; } }
run program
ready