整理一下最近的收获,java中接口的使用

最近在看公司的项目,发现关于接口的使用很多,但是因为没有经常使用接口的习惯,感觉代码好难看懂,可能是自己一直的代码都不规范导致的吧。其实使用接口,可以方便很多事情,java里面设计接口也不是没有道理的。

说一下自己的简单理解吧,在父类中声明接口,并且调用接口,在子类中声明接口的具体实现方法。

一个简单的demo方便理解:

A类:

public interface OnItemCLickListener{
    void onItemClick(View view);
}
private OnItemClickListener mOnItemClickListener;
public void setOnTestClick(OnItemClickListener mOnItemClickListener){
    this.mOnItemClickListener = mOnItemClickListener;
}
view.setOnClickListener(
    new OnClickListener(View view){
        public void click(){
            mOnItemClickListener.onItemClick(view);
        }
    }
);

即在A类中声明接口,并且调用接口,但是没有给定具体的实现方法,可以在B类中声明具体的实现方法
B类:

A a = new A();
a.setOnTestClick(new OnItemClickListener(){
    public void onItemClick(View view){
        //具体实现方法
    }
})

这就是简单接口的实现,再整理一遍:在A类中声明接口调用,在B类中实现接口的方法。
在以后的开发中,尽量多的使用接口,可以提高代码的复用率,减少代码量,并且可以方便开发

存在即合理。刚接触接口的时候,里面只有方法名,没有具体的实现方法,感觉没有什么用,从最近接触项目来说,接口的用处实在强大、方便。但是希望不要滥用,我是深受其害。。。
一般在项目中,子类重用某种方法的时候,合理的使用接口,可以让项目代码简洁、美观、大气。
接口的出现,很好的弥补了java中不能多继承的缺陷,接口应该就是因为这个原因出现的,实际上也确实弥补了没有多继承的不方便性。在类中继承接口,跟继承类后的效果是一样的。如

public class D{
    public void methodD(){
        ....
    }
}
public interface C{
    void methodC();
}
class A implements C{
    public void methodC(){
        ....
    }
}
class B extends D implements C{
    public void methodC(){
        ....
    }
}
A a = new A();
B b = new B();
C ca = new A();
C cb = new B();
ArrayList<C> cs = new ArrayList<>();
cs.add(a);
cs.add(b);
ca.methodC();
cb.methodC();
cb.methodD();// 此方法是错误的,接口C中没有此方法

以上代码只是简单的理解接口的使用,看似简单的代码,真正使用起来是很方便易用的,对接口的加深理解,可以更加规范自己的代码,有利于代码的复用。在一些特殊的场合,接口总能展现出他存在的意义、价值与魅力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值