接口和抽象类的关系 interface/implements abstract/extends

1、接口是要被实现的,抽象类是要被继承的。
2、接口和抽象类都不能直接实例化,如果要实例化,需要指向继承抽象类或者实现了接口的类对象进行实例化。抽象类中可以有构造方法
3、接口只能做方法声明,抽象类中的抽象方法只能做方法声明,普通方法也可以有方法实现。抽象类中的方法访问权限可以为public,protected。接口中抽象类只能是public的,并且默认为public abstract
4、接口中定义的变量只能是公共的静态常量,抽象类中的变量是普通变量
5、实现接口的类,如果不能全部实现接口中的方法,则此类也只能是抽象类。继承抽象类的子类,如果不能实现所有的抽象方法,则此类也必须为抽象类,且包含此未实现的抽象方法。
6、抽象类内可以没有抽象方法,有抽象方法的类必须为抽象类
7、抽象方法只能申明,不能实现。接口是设计的结果,抽象类是重构的结果
8、抽象方法是要被继承实现的,所以不能是私有的,也不能是静态的
9、接口可以实现多接口,抽象类只能单继承,并且需要先继承再实现

子类继承父类,其实是继承了父类的所有内容,只是对于一些受保护的,私有的内容,只是拥有,不能使用。
抽象类中可以包括静态方法。Jdk1.8之后接口中可以包含静态方法。

详细描述
https://blog.csdn.net/gongxiao1993/article/details/82055007

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wmf_helloWorld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值