接口和抽象类的区别

抽象类除了有抽象方法,还可以有普通成员方法,接口中只能有public abstract修饰的方法。

抽象类只能单继承,接口可以多实现。抽象类中的成员方法可以是各种修饰符修饰的,而接口只能是public static final修饰的(默认)。

接口的设计目的是:对类的行为进行约束,也就是这个类有什么方法,接口不管具体方法是如何实现。

抽象类的设计目的是:代码的复用,必须存在继承关系。当不同的类具有相同的功能时,可以派生一个抽象类具有这些方法,这些类去继承这个抽象类(子类的共性派生为一个父类),达到代码的重复使用。抽象类不允许实例化,因为抽象类里面有没有实现的方法。

抽象类是对类本质是抽象,包含并实现子类的通用特性,将子类存在差异话的特性进行抽象,交给子类实现。

接口的核心是定义行为,即实现类可以做什么,至于如何实现,实现的主题是谁,接口不关心。

使用场景:抽象类关注的是一个事务的本质,接口关注操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值