ComparableCircle类
package com.sugarpie.classtest21;
/**
* @author sugarpie
* @create 2021-06-08-8:45
*/
public class Circle {
}
package com.sugarpie.classtest21;
/**
* @author sugarpie
* @create 2021-06-08-8:44
*/
public class ComparableCircle extends Circle implements Comparable<ComparableCircle>{
public double radius;
public ComparableCircle(double radius){
this.radius = radius;
}
public double getArea(){
return Math.PI * radius * radius;
}
@Override
public int compareTo(ComparableCircle o) {
if (this.getArea() > o.getArea()){
return 1;
}else if (this.getArea() < o.getArea()){
return -1;
}else {
return 0;
}
}
}
package com.sugarpie.classtest21;
/**
* chapter13 13.6 ComparableCircle类
*
* @author sugarpie
* @create 2021-06-08-8:46
*/
public class CircleTest {
public static void main(String[] args) {
ComparableCircle c1 = new ComparableCircle(3);
ComparableCircle c2 = new ComparableCircle(3.5);
if (c1.compareTo(c2) > 0){
System.out.println("c1 > c2");
}else if (c1.compareTo(c2) < 0){
System.out.println("c1 < c2");
}else {
System.out.println("c1 = c2");
}
}
}