抽象类接口区别

  1. 默认的方法实现 抽象类可以有默认的方法实现完全是抽象的。接口根本不存在方法的实现

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

  3. 构造器
    抽象类可以有构造器
    接口不能有构造器

  4. 与正常Java类的区别
    除了你不能实例化抽象类之外,它和普通Java类没有任何区别  接口是完全不同的类型

  5. 访问修饰符
    抽象方法可以有public、protected和default这些修饰符 接口方法默认修饰符是public。你不可以使用其它修饰符。

  6. main方法
    抽象方法可以有main方法并且我们可以运行它
    接口没有main方法,因此我们不能运行它。

  7. 多继承
    抽象类在java语言中所表示的是一种继承关系,一个子类只能存在一个父类,但是可以存在多个接口。

  8. 速度
    它比接口速度要快
    接口是稍微有点慢的,因为它需要时间去寻找在类中实现的方法。

  9. 添加新方法
    如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。 如果你往接口中添加方法,那么你必须改变实现该接口的类。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值