// An example of method overloading // public class Calculator { // 3 versions of the area method // to deal with 3 possible types public double area(Square s) { return s.size*s.size; } public double area(Triangle t) { double areaTri; areaTri = 1./2.*Math.abs( (t.x[1]-t.x[0])*(t.y[2]-t.y[0])- (t.y[1]-t.y[0])*(t.x[2]-t.x[0]) ); return areaTri; } public double area(Circle c) { return c.radius*c.radius*Math.PI; } }