欢迎转载,但请标明为转载,否则必究其责
一、针对接口编程
在java中有一种编程模式是针对接口编程
这时接口可以看作是一种约定,这体现在接口名称和注释上,有些接口只有名称,方法的实现方式要通过注释来约定;也可以将其视作一种能力,这体现在接口的方法上。
二、针对接口编程的好处
- 可以被多继承
- 设计和实现完全分离
- 更自然的使用多态
- 更容易搭建程序框架
- 更容易更换实现
三、接口的一些特性扩展
1.解决冲突
-
当父类与接口中有相同的方法时,父类方法优先
- 默认方法不能与Object中的方法名相同
-
当多个接口有相同方法名但不同参数的默认方法时,按照方法重载的规则调用
-
当多个接口有完全相同的默认方法时,子类必须重写该方法
2.标记接口(以后了解)
-
没有任何成员的接口
-
自身没有声明成员,也没有从父接口中继承成员
-
用于标记一个类在特定的环境中 具有特定的意义
-
JDK中 的标记接口:
-
java.lang.Cloneable
-
java.io.Serializable
-
java.rmi.Remote
-
-
Java5中引入的注解可以实现相同的功能
3.函数式接口
- 函数式接口是指只有一个抽象方法的接口
- 可以使用可选的@FunctionalInterface注解来表示
- 与Lambda表达式关系密切