java接口与抽象类的区别

接口:

抽象类:

以下提到的其实算不上是区别,只是把接口、抽象类的一些特殊之处例举出来,供读者分辨。

1、接口方法权限默认为public,abstract。(当然在代码中显式也没错误)

2、接口只能有抽象方法,而抽象类可以有非抽像方法与抽象方法。

3、类可以实现(implements)多个接口,同样的接口也可以继承多个接口(用extends关键字。)接口能够继承多个接口是因为接口中的方法都是抽象方法,实现了该接口的类必须且只能为特定的方法提供一种实现。不存在不明确该调用哪个接口中的方法的问题。

4、 抽象类不能被实例化,但它具有构造函数,这是为了保证子类能够正常实例化。

5、接口可以嵌套在接口或类中。

6、接口可以作为参数。(只要实现了该接口的类都能作为这样的参数传入)

7、接口中定义的成员变量默认都是static final的。(也可以显示)

8、接口和抽象类相同的是,实现他们的类必须重写他们全部的抽象方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值