java中抽象类和接口的异同

本文深入解析了抽象类与接口的区别,包括抽象方法、构造方法、成员变量、继承关系及JDK8新增特性。掌握它们在设计多态和模块化中的应用。

相同点:

  1. 抽象类和接口都不能实例化对象,但是可以定义抽象类和接口类型的引用;
  2. 继承抽象类和实现接口都要对其中的抽象方法全部实现;

不同点:

  1. 接口比抽象类更加抽象,抽象类中可以定义构造方法(构造器),可以有抽象方法和具体方法;

    而接口中的方法全部都是抽象方法(接口中也可以没有方法,这样的接口称为空接口)

  2. 抽象类中的方法可以是private,protected,public,接口全部都是public

  3. 抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量(final)

  4. 有抽象方法的类必须声明为抽象类,而抽象方法未必要有抽象方法

  5. 类是单继承的关系,子类只能有一个直接父类,接口时多继承,可以有多个父接口。类实现接口也是多继承

  6. JDK8:接口除了定义全局常量和抽象方法外,还可以定义静态方法、默认方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

aliven1

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

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

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

打赏作者

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

抵扣说明:

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

余额充值