接口和抽象类使用场合

interface接口和抽象类的区别,什么时候用接口什么时候用抽象类

* interface 中的方法不能有实现,作用是分类功能,一个类可以实现多个接口.
public interface IFoo{
//做a+b计算返回结果
int doPlus(int a, int b);
}

public interface IBar{
//做a+b-c计算返回结果
int doMath(int a, int b, int c);
}

public Impl implements IFoo,IBar{
public int doPlus(int a, int b){
return a+b;
}
public int doMath(int a, int b, int c){
return a+b-c;
}
.....
}

* 抽象类的作用的定义公共功能。抽象类和其子类是有上下级关系的。同时一个子类只能继承一个父类.
public abstract class Bar {
public void doCommon(){
.......
}
public abstract int doSomething();
}

public class Foo extends absFoo{
public int doSomething(){
int res=0;
....
return res;
}
}
其他类使用Foo的实例时也能使用其父类方法foo.doCommon(), 这样当doCommon方法改动的时候,只需要改父类,所有子类的这个功能也都同时更新。

* interface中定义的属性一定是public static final的不管你加不加这些; 而抽象类中的属性和类的一样可以通过上述关键字来定义,并不是默认强加的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值