java语言程序设计 14.2 comparable
来源:互联网 发布:js classname事件 编辑:程序博客网 时间:2024/05/22 08:21
public class ComparableCircle extends Circle implements Comparable {public static void main(String[] args) { // Create two comarable rects ComparableCircle circle1 = new ComparableCircle(5); ComparableCircle circle2 = new ComparableCircle(15); // Display the max rect ComparableCircle circle3 = (ComparableCircle)Max.max(circle1, circle2); System.out.println("The max circle's radius is " + circle3.getRadius()); System.out.println(circle3); }public ComparableCircle(double radius) { super(radius); } /** Implement the compareTo method defined in Comparable */ public int compareTo(Object o) { if (getRadius() > ((ComparableCircle) o).getRadius()) return 1; else if (getRadius() < ((ComparableCircle) o).getRadius()) return -1; else return 0; } static class Max { /** Return the maximum of two objects */ public static Comparable max (Comparable o1, Comparable o2) { if (o1.compareTo(o2) > 0) return o1; else return o2; }}}