接口与抽象类的异同

接口与抽象类

共同特征:

1.接口与抽象类都不能实例化,他们都位于继承的顶端,用于被其他类继承或者实现;
2.接口与抽象类都可以包含抽象方法,实现或者继承他们的那些子类必须都实现这些抽象方法;

差别:

接口抽象类
接口体现了一种规范,接口提供了对外服务的一些方法,当一个程序实现接口时,接口时多个模块间的耦合标准,当多个程序实现接口时,接口是多个程序之间的通信标准抽象类则体现的是一种模板式设计,抽象类可以看做是一个中间产品,该产品已经实现了部分功能,但仍然不能作为最终产品,需要更进一步的完善
只可以定义静态常量既可以定义普通变量,也可以定义静态常量
不能有初始化块可以有初始化块
不能有构造器可以有构造器,但不是用于创建对象,而是让子类调用完成其初始化的
不能有静态方法可以有静态方法
只能有抽象方法除了抽象方法,还可以有普通方法
一个类可以实现多个接口一个类只能继承一个父抽象类

注:接口可以多继承接口
abstract不能和final一起使用,并且不可以修饰变量和构造器,abstract不能和static一起使用共同修饰方法(static修饰的方法为类方法,类调用一个没有方法体的方法肯定会引起错误),abstract不可以和private一起使用(因为abstract修饰的方法只有被重写才有意义)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值