接口与抽象类的区别(Java 7版本)

你看起来像什么地位,你就是什么地位,互联网时代也是一个看颜的时代,虽无奈,但是事实

该原创文章首发于微信公众号“字节流动”

本篇从 8 个方面介绍一下,接口与抽象类的区别。

抽象

接口与抽象类具备抽象多类对象相同属性特征的特点,均可作为一种规范。

属性(成员变量)

抽象类中的成员变量与普通的 Java 类声明一样;
接口中的成员变量只能是 public static final 类型的。

方法实现

抽象类可以有方法实现,也可以用 abstract 关键字将其抽象化;
接口不存在方法实现,所有的方法均为 public 抽象方法。

实例化

抽象类有构造函数,但不能实例化,除了不能实例化之外,与普通的 Java 类没有区别;
接口没有实例化的概念,无构造函数。

继承

抽象类只能有一个父类,但可以实现多个接口;
一个接口可以继承多个接口。

子类实现

子类通过 extends 关键字来继承抽象类,如果子类不是抽象类的话,它需要提供抽象类中所有抽象方法的实现;
子类通过 implements 关键字来实现接口,需要提供接口中所有声明方法的实现。

访问修饰符

抽象类中抽象方法可以有 public、 protected 和 default 这些修饰符;
接口方法默认修饰符是 public ,不可以使用其它修饰符

访问速度

同等条件下,对抽象类方法的访问速度快于接口,接口需要花时间寻找类中实现的方法。

联系与交流

微信公众号
我的公众号
个人微信
我的微信

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

字节流动

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

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

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

打赏作者

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

抵扣说明:

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

余额充值