接口与抽象类的区别

接口与抽象类的区别
什么是抽象类?
.抽象类中的成员变量可以是多种类型;
.一个类只能继承一个抽象类(单继承);
.产生子类的同时给予子类一些特有的属性和方法;
.抽象类可以实现多个接口,但不必实现全部的接口方法;
.抽象类中可以没有抽象方法,但是抽象类不能实例化,如果实例化就必须实现其中的抽象方法;
什么是接口?
.接口通常来说是一个对行为的抽象,它提供了给别人调用的方法;
.接口可以用来弥补来自继承的单继承丰富度不够问题;
.接口不能拥有构造方法;
.接口可以拥有任意数量的方法;
.一个接口可以继承多个接口;
.接口不能被类继承,只能被一个类来实现;
.它的成员变量必须是public static final的;
.它里面所有的方法都必须是public,就算不写它也自动默认为public;
.接口不能有初始化块,不管是静态初始化块还是实例初始化块;
.JDK1.7:接口中的方法必须全部为抽象方法,可以把它当做特殊的抽象方法;
.JDK1.8:接口当中定义实现了的方法;
接口与抽象类的区别
.抽象类单继承,而接口多继承;
.抽象类类似与模板,而接口类似于协议
.抽象类中可以含有静态代码块,而接口不能;;
.抽象类可以提供某些方法的部分实现,而接口不可以;
.接口与抽象类的存在就是为了用于具体类的实现和继承;
.抽象类对整个类的属性,行为等进行抽象.而接口只对行为进行抽象;
.当抽象类对需求有改变时,只用修改修改抽象类,子类不变.而接口需要与子类同时修改;

初入编程,错误的地方请指教

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值