接口的练习

1.定义一个接口用来实现两个对象的比较 。

public interface CompareObject {
	//若返回值是 0 代表相等 若为正数 代表当前对象大负数代表当前对象小
    public int compareTo(Object o);
}

2.定义一个 Circle 类,声明 radius 属性,提供 getter 和 setter 方法

public class Circle {
      private double radius;
      public Circle(){
    	  
      }
      public Circle(double radius){
    	  this.radius=radius;
      }
      public void setRadius(double radius){
    	  this.radius=radius;
      }
      public double getRadius(){
    	  return radius;
      }
      
}

3. 定义一个 ComparableCircle类,继承 Circle 类并且实现 CompareObject 接口 。在ComparableCircle 类中给出接口中方法 compareTo 的实现体,用来比较两个圆的半径大小 。

public class ComparableCircle extends Circle implements CompareObject{
     public ComparableCircle(double radius){
    	 super(radius);
     }
	
	@Override
	public int compareTo(Object o) {
		if(this==o){
			return 0;
		}
		if(o instanceof ComparableCircle){
			ComparableCircle c=(ComparableCircle)o;
			if(this.getRadius()==c.getRadius()){
				return 0;
			}else if(this.getRadius()>c.getRadius()){
				return 1;
			}else{
				return -1;
			}
		}else{
			return 0;
		}
	}

}

4.定义一个测试类 InterfaceTest 创建两个 ComparableCircle 对象,调用 compareTo方法比较两个类的半径大小 。

public class InterfaceTest {
public static void main(String[] args) {
	ComparableCircle c1=new ComparableCircle(1.2);
	ComparableCircle c2=new ComparableCircle(1.2);
	int result=c1.compareTo(c2);
	if(result==0){
		System.out.println("两个圆半径相等");
	}else if(result>0){
		System.out.println("c1圆半径大");
	}else{
		System.out.println("c2圆半径大");
	}
	
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值