面积接口
public interface Area {
public abstract double area();
}
体积接口
public interface Volume {
public abstract double volume();
}
圆锥体类
public class Cone extends Object implements Area,Volume,Comparable<Cone>{
public double h;
public double r;
public double l = Math.sqrt(h*h+r*r);
public Cone(double h,double r) {
this.h = h;
this.r = r;
this.l = Math.sqrt(this.h*this.h+this.r*this.r);
}
public double area() {
return Math.PI*this.r*(this.r+this.l);
}
public double volume() {
return Math.PI*this.r*this.r*this.h/3;
}
public String toString(){
return "area = "+ area()+" volume = "+volume();
}
public int compareTo(Cone c) {
if(this.volume() == c.volume())
return 0;
else if(this.volume()>c.volume())
return 1;
else
return -1;
}
}
测试类
public class Test {
public static void main(String[] args) {
Cone a = new Cone(3.0,3.0);
Cone b = new Cone(2.0, 2.0);
System.out.println(a);
System.out.println(b);
int res = a.compareTo(b);
if(res == 0)
System.out.print("a = b");
else if(res>0)
System.out.print("a>b");
else
System.out.print("a<b");
}
}