接口练习随笔
Posted lkkkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口练习随笔相关的知识,希望对你有一定的参考价值。
一:根据题目定义接口 ComparableObject并写入方法
二:创建父类Circle,根据题目定义变量,对其进行私有化
三:创建子类ComparableCircle,继承父类,实现接口,完成接口中方法的实现
public int compareTo(Object o) { // ↑这个是一个,传入过来的对象 // 实现compareTo方法,比较两个圆半径的大小 // 另一个对象,谁调用这个方法就是谁,就是this if (o instanceof Circle) {
// instanceof 判断o是否可以强制转换成circle格式 // ↓明确知道传过来的对象是圆半径,则可以进行强制转换 Circle c = (Circle)o; if (this.getRadius() > c.getRadius()) { System.out.println("当前对象半径大"); return 1; }else if (this.getRadius() < c.getRadius()) { System.out.println("当前对象半径小"); return -1; }else { System.out.println("两个对象半径相等"); return 0; } }
模仿上,得下
矩形面积对比:由边长求得面积,再对面积进行比对
第一步相同
第二步创建Rectangle类,直接在其构造方法中定义有参构造,执行求面积
// 有参构造 public Rectangle(double len,double wei){ this.len = len; this.wei = wei; sum = len * wei; }
第三步:创建ComparableRectangle类继承Rectangle,实现接口
public ComparableRectangle(double len, double wei) { super(len, wei); } public int compareTo(Object o) { if (o instanceof Rectangle) { Rectangle r = (Rectangle)o; if (this.getSum() < r.getSum()) { System.out.println("当前矩形面积小"); return -1; } else if (this.getSum() > r.getSum()) { System.out.println("当前矩形面积大"); return 1; }else{ System.out.println("面相等"); return 0; } }else { System.out.println("类型不匹配,无法比对"); return 4; } }
Final:创建测试类,进行测试
public static void main(String[] args) { // 比较圆 ComparableCircle c1 = new ComparableCircle(); ComparableCircle c2 = new ComparableCircle(); c1.setRadius(5.3); c2.setRadius(3); System.out.println(c1.compareTo(c2)); //比较矩形 ComparableRectangle r1 = new ComparableRectangle(1.3, 2.2); ComparableRectangle r2 = new ComparableRectangle(4.4, 5); System.out.println(r1.compareTo(r2)); }
运行结果如下:
以上是关于接口练习随笔的主要内容,如果未能解决你的问题,请参考以下文章