Java自定义接口,消除冗余代码!

当两个类有个别相同的方法时,那么就可以定义一个接口来统一实现他们,这个借口使得他们求同存异。

我实现了两个类,一个是链表类LinkedIntList,另外一个是数组类ArrayList,这两个类有着共同的方法,尽管他们的实现方法完全不同,但这并不妨碍用一个接口来让他们相同的部分连接起来。

方法:

1.首先应该声明一个接口

public interface IntList {
    public int size();
    public  void add(int a);
}

2.这两个类在定义的时候,显式地声明这个接口,

public class ArrayList implements IntList 
public class LinkedIntList implements IntList

随后我们就可以享受Java的多态性了。

public class Main {

    public static void main(String[] args) {
        IntList list1=new ArrayList();
        IntList list2=new LinkedIntList();
        pro(list1);
        System.out.println();
        pro(list2);
    }
    public static void pro(IntList list)
    {
        list.add(10);
        list.add(20);
        System.out.println(list.toString());
    }
}

 

后记:之前听说开发一门编程语言需要哲学,我刚开始还不信,认为规则都是死的,能体现什么哲学性。直到今天我才认识到编程的神韵。比如这个例子,采用的就是“求同存异”,上过历史课的都知道这是什么,让语言有这个特性是这么的自然。语言是对现实世界的模拟,体现的是大师对这个世界的感悟。向那些开发语言的大师们致敬!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值