java接口的使用

本文详细介绍了Java接口中的抽象方法、默认方法、静态方法和私有方法,包括它们的特点、用法以及从Java8开始新增的功能。此外,还讨论了实现类与接口的多实现问题以及接口间的多继承问题,帮助读者深入理解Java接口的使用和设计原则。
摘要由CSDN通过智能技术生成

1.抽象方法

在任何版本java中,接口都能定义抽象方法。

  • 在接口中定义抽象方法,修饰符必须是public abstract,可以省略。
  • 接口不能直接new,需要调用实现类的实现方法。
  • 在实现类中必须实现所有抽象方法。如果没有实现所有方法,那么必须是抽象类
2.默认方法

从java8开始,为了解决接口升级问题(如果之后给接口添加方法,实现类必须覆盖重写)。接口可以定义默认方法

  • 修饰符是public default,可以有方法体,可以省略public。
  • 默认方法会被实现类默认继承,可以被对象调用
  • 可以拼接函数模型
3.静态方法

从java8开始,接口中可以允许定义静态方法。如果实现类中有相同的静态方法,则执行不同的方法体。

  • 修饰符为public static,可以有方法体,可以省略public
  • 静态方法不会被实现类继承,不能被对象调用
  • 通过接口名称.静态方法名(参数)
4.私有方法

从java9开始为了解决默认方法之间的重复代码,但不应该被实现类使用,必须是私有化的。

  • 修饰符为private。静态私有方法修饰符为private static。
  • 多个默认方法重复使用普通私有方法,多个静态方法重复使用静态私有方法。
5.常量

在任何版本中都可以定义常量。

  • 修饰符为public static final。关键字可省略。
  • 接口中常量必须进行赋值,一旦赋值不可修改。
  • 常量名称使用完全大写字符,不同单词之间使用下划线分隔。
6.实现类与接口多实现问题
  • 必须实现所有实现接口的抽象方法,如果有重名的,只需要实现一次。
  • 必须覆盖重写重名的默认方法。
  • 如果直接父类的方法和接口中的默认方法有冲突,则优先使用父类方法。
7.接口之间多继承问题
  • 重名抽象方法的算一个方法。
  • 父接口的默认方法重名,子接口必须覆盖重写,而且也是默认方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值