接口和抽象类的区别

       接口和抽象类都是支持抽象类定义的两种机制,接口是公开的,里面不能有私有的方法或者是变量,是让别人去使用的,而抽象类中是可以有私有方法或私有变量的,一个类中若有抽象方法则它必然是抽象类,abstract只能用于修饰方法或者类,不能修饰属性。接口是一个方法的集合,接口中的方法都没有方法体,都是抽象方法,声明的也只能是常量(static final),抽象类的子类为其方法提供具体实现,否则它们也是抽象类.


总结:

相同点:都不能被实例化,接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能被实例化。


相同点:1、接口只有定义,不能有方法的实现,而抽象类中可以有定于与实现的方法。

2、接口用于实现,抽象类用于继承,一个类可以实现多个接口,然而一个类只能继承一个抽象类,因此接口可以间接的达到多重继承的目的。

3、接口适合用于实现常用的功能,便于日后围护或者添加删除,然而抽象类更倾向于当做公共类角色,不适合日后重新对里面的代码进行修改。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值