java学习笔记-接口介绍

java学习笔记-接口介绍

场景:一个类 所有方法都是抽象方法 将这个类定义为接口

接口是一个引用数据类型 它比接口还要抽象

意义

接口存在的两个重要意义:
1. 规则的定义
2. 程序的扩展性

接口的定义和特点

  1. 接口用关键字Interface来定义 接口不可以创建对象 public interface 接口名
  2. 接口不允许实例化
  3. 接口和类之间是实现关系 通过
    public class 类名 implements 接口名{}
  4. 接口的子类 要么重写接口中的所有抽象方法 要么自己定义为一个抽象类
  5. 接口和类之间的关系 一个类可以实现单个接口 也可以实现多个接口

接口中成员的特点

  1. 成员变量
    只能是常量 默认修饰符 :public static final

  2. 构造方法,没有 因为接口不可以实例化

  3. 成员方法 只能是抽象方法(JDK8 JDK9有所改变) 默认修饰符 public abstract

JDK8接口成员的特点

  1. 允许接口中定义非抽象方法,但是需要使用default关键字来修饰 ,这些方法即为默认方法 用来解决接口升级问题
  2. 格式 public default void show()
  3. 默认方法不需要进行重写 可以进行重写但是重写默认方法不需要添加default关键字
  4. 多个接口实现类 但是 多个接口存在相同的默认方法, 必须进行重写
  5. 接口允许定义静态方法 通过接口.静态方法 进行调用 不可以用实现类对象来调用

JDK9接口成员的特点

  1. 允许Private修饰的方法 静态方法也可以使用private static

接口使用思路

  1. 如果发现 一个类中所有的方法 都是抽象方法,那么就可以将该类改进为一个接口
  2. 涉及到接口大面积更新方法 而不想去修改每一个实现类 就可以将更新的方法 定义为带有 方法体的默认方法
  3. 希望默认方法 调用的更加简洁 考虑设计成static 去掉default
  4. 默认方法出现重复的代码 考虑抽取成私有方法 去掉default

类和接口之间的关系:

  1. 继承关系 单继承
  2. 实现关系 多接口实现
  3. 接口与接口之间的关系 继承关系 也可以多继承 如果多继承 存在冲突的方法 子接口 必须重写冲突的方法
  4. 如果一个类 又有继承 又有接口 如果直接父类和接口中出现了相同的方法 优先使用直接父类的方法

猜你喜欢

转载自blog.csdn.net/qq_44653420/article/details/121351250
今日推荐