关于学习到java ,很多人可能接触到接口,但并不理解接口的用处,其实接口很简单,其作用有两个
1 泛化
下面请看代码
public void feed(Chicken chiken){//喂鸡
giveFood();//给予食物
chicken..eat();//鸡啄食
}
那问题来了,如果喂食的对象不统一 ,有pig(猪),dog(狗),写成单一类型的参数限制了代码的扩展性,所以使用接口,就可以扩大参数范围
Chiken implement Animal{ //Animal是一个接口 自己会声明吧 public interface Animal 。。。。。。
}
pig Impelement Animal{
}
Dog impelement Animal{
}
然后就可以用
public void feed (Animal animal){
giveFood();
animal.eat();
}
这样不用写三个类的喂食方法了feed(Chicken),feed(Pig),feed(Dog),减少了代码冗余
2回调
对于一些不确定的东西,我们可能做很多种操作,比如说今天是充话费送积分 ,明天是冲话费送现金,后天是冲话费送xxx
pubic void song(A a){
if(充话费成功){
a.somg(};
}
}
那在第一天 if(第一天)执行下面代码A a1=new A{
public void song (){
送积分;
]
}
那在第二天 if(第二天)执行下面代码A a2=new A{
public void song (){
送现金;
]
}
那在第三天 if(第三天)执行下面代码A a3=new A{
public void song (){
送xxx;
]
}
这种方法是前面相同(充话费一样的),后面不同(送东西),这种是回调,当然也可以前面不同,后面相同。这种分开写也可以,把接口对象传进去再增加共同的方法还不如直接执行接口方法再执行 公共方法,省了传入参数操作,你可以new 也可以impelemt后再new,把接口对象传进去就行了,如果对于这种业务你产品经理经常变来变去,最好声明一个接口,还有第二种方法,揍他