接口

接口

语法

  • interface 接口名{}

特点

  • 只能包含公开静态常量和公开抽象方法
  • 没有构造方法

jdk1.8

  • 可以有静态方法

    • 不能被实现,被接口独有
    • 通过接口名.方法名调用
  • 可以有默认方法(用default修饰)

    • 可以被继承,通过实现类调用

概念

微观

  • 接口代表某种能力和和约束
  • 接口支持多实现,为类扩充多种功能

宏观

  • 接口代表一种标准

和抽象类的异同

相同

  • 都可以编译成.class文件
  • 不能创建对象
  • 可以作为引用类型
  • 具备Object对象的方法

不同

  • 接口所有所有属性都是公开静态常量,并且隐式使用public static final修饰,因此可以省略public static final
  • 接口所有方法都是公开抽象方法,并且隐式使用public abstract修饰,因此可以省略public abstract
  • 接口无构造方法、动态代码块、静态代码块

规范

  • 类在实现接口是必须实现接口中的所有方法,否则是抽象类

  • 实现接口中的方法时,访问修饰符是public

接口引用

  • 接口可以声明为引用,并指向实现类

  • 注意

  1. 尽可以调用接口中的方法,不可调用实现类中独有的方法
  2. 可强制转换为真实类,调用实现类独有的方法

类型

常量接口

标记接口

  • Serializable
  • Cloneable

回调原理

  • 先有接口的使用者,再有接口的实现者

面向对象设计原则

开闭原则

  • 单一职能原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特原则(最少知道)
  • 合成复用原则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值