java中抽象类与接口的区别与关系

java中抽象类的定义是包含一个抽象方法的类,意味着抽象类里不一定只包含抽象方法,还可以包含构造方法,抽象方法,普通方法,常量与变量。但应该注意的是,在抽象类里的普通方法一定要有方法体,而抽象方法则去掉方法体,然后加上abstract修饰符。如图:

而接口的定义为抽象方法和全局常量的集合,意味着接口里只允许有常量和抽象方法,而不能有普通方法,变量。

最重要的一点区别是:抽象类只能单继承,而接口允许多继承。如图:

但抽象类尝试多继承时,则报错。而接口多继承时,则没报错。

应该这个特点,所以在抽象类和接口都可以使用的情况下,则优先使用接口,这样避免单继承的局限。



两者关系为:抽象类可以实现多个接口,而接口不能继承抽象类,但允许继承多个接口。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值