定义一个接口用来实现两个对象的比较。
interface CompareObject{
public int compareTo(Object o); //若返回值是 0 , 代表相等; 若为正数,代表当
前对象大;负数代表当前对象小
}
定义一个Circle类,声明redius属性,提供getter和setter方法
定义一个ComparableCircle类,继承Circle类并且实现CompareObject接口。在
ComparableCircle类中给出接口中方法compareTo的实现体,用来比较两个圆的半
径大小。
定义一个测试类InterfaceTest,创建两个ComparableCircle对象,调用compareTo
方法比较两个类的半径大小。
思 考 : 参 照 上 述 做 法 定 义 矩 形 类 Rectangle 和 ComparableRectangle 类 , 在
ComparableRectangle类中给出compareTo方法的实现,比较两个矩形的面积大小。
package com.company;
public interface CompareObject {
public int compareTo(double redius1, double redius2);
}
Circle.java
package com.company;
public class Circle {
private double redius;
public double getRedius() {
return redius;
}
public void setRedius(double redius) {
this.redius = redius;
}
}
ComparableCircle.java
package com.company;
public class ComparableCircle extends Circle implements CompareObject{
public ComparableCircle(){
}
public ComparableCircle(double redius){
this.setRedius(redius);
}
@Override
public int compareTo(double redius1, double redius2) {
if (redius1 > redius2){
return 1;
}else if (redius1 < redius2){
return -1;
}else {
return 0;
}
}
}
Main.java
package com.company;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
import java.util.Scanner;
import java.util.Vector;
public class Main {
public static void main(String[] args) {
ComparableCircle circle1 = new ComparableCircle(6);
ComparableCircle circle2 = new ComparableCircle(8);
int num =circle1.compareTo(circle1.getRedius(),circle2.getRedius());
if (num > 0){
System.out.println("circle1半径比较大!");
} else if (num < 0) {
System.out.println("circle2半径比较大");
}else {
System.out.println("两个圆半径一样大!");
}
}
}



