将 多态技术与接口相结合

package com.lei.duixiang;

/**
 * 1、 将 多态技术与接口相结合 
 * 2、在接口中定义的任何字段都自动是 static 和 final 的 
 * 3、在接口中定义的方法必须声明为public 或 abstract 形式,即使不将该方法 声明为 public 形式,它也是 public
 * 
 * @author Administrator
 * 
 */

interface drawTest { // 定义接口
    public void draw();
}

// 定义平行四边形类,该类继承了四边形类,并实现了 drawTest 对象
class ParallelogramgleUseInterface extends QuadrangleUseInterface implements
drawTest {
    public void draw() { // 由于该类实现了 接口,所以需要覆盖 draw() 方法
        System.out.println("平行四边形.draw()");
    }

    void doAnyThing() { // 覆盖 父类方法
        // 注意 方法前沒有 public 修饰符
    }
}
//定义正方形类,该类继承了四边形类,并实现了 drawTest 对象
class SquareUseInterface extends QuadrangleUseInterface implements drawTest {

    public void draw() {
        // TODO Auto-generated method stub
        System.out.println("正方形.draw()");
    }

    void doAnyThing() {
        // 注意 方法前沒有 public 修饰符
    }

}

public class QuadrangleUseInterface { // 定义四边形类
    void doAnyThing() { // 注意 方法前沒有 public 修饰符
        // SomeSentence
    }

    public static void main(String[] args) {
        // 接口 也可以进行向上转型操作
        drawTest[] d = { new SquareUseInterface(),
                new ParallelogramgleUseInterface() };

        for (int i = 0; i < d.length; i++) {
            d[i].draw();
        }

    }

}
原文地址:https://www.cnblogs.com/spadd/p/4172588.html