8.接口和抽象类

在Java 1.8之前,抽象类与接口有着明确的区分,抽象类可以包含非抽象方法和属性,而接口则只能有抽象方法和常量。但从1.8开始,接口引入了默认方法和静态方法,这使得接口的使用更加灵活。抽象类通常用于表示一类事物的特征抽象,而接口则更像一种标准规范,定义功能约定。理解这些概念有助于更好地设计和实现Java程序。
摘要由CSDN通过智能技术生成

在写法上

在JDK1.8 之前:

抽象类

  1. 不能被实例化,但可以有构造方法
  2. 可以有普通方法(非抽象方法)
  3. 可以有属性
  4. 方法,属性等可以被四个访问修饰符修饰

接口

  1. 不能被实例化,不能有构造方法
  2. 方法只能是抽象方法,默认带有 public abstract 修饰
  3. 属性都是常量,默认带有 public static final 修饰

jdk1.8之后:

抽象类的变化并不大,接口变化比较大

接口

  1. 接口中可以有默认实现方法 或 静态实现方法

在设计上

抽象类:

是对同一事物的抽取,是对同一类事物的特征的抽象。使用抽象类更多的表示的是一类事物的特征的抽取,比如可以定义一个人类,人类中可以有很多子类类,比如老师,学生,白领,工人等,子类和抽象类之间构成体系。父类是子类共同特征的提取。

接口:

更像一种标准的制定,定制系统之间对接的标准,更像是对一种功能的规定。比如说 USB 接口,HDMI 接口,每一个接口都是一种规则,拥有某个接口就具有了这个接口相应的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值