接口

接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8)。 接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。

引用数据类型:数组,类,接口。

  1. public interface 接口名称 {
  2. // 抽象方法
  3. // 默认方法
  4. // 静态方法
  5. }
  6. 含有抽象方法
  7. public interface InterFaceName {
  8. public abstract void method();
  9. }
  10. 含有默认方法和静态方法
  11. public interface InterFaceName {
  12. public default void method() {
  13. // 执行语句
  14. }
  15. public static void method2() {
  16. // 执行语句
  17. }
  18. }

非抽象子类实现接口:

  1. 必须重写接口中所有抽象方法。
  2. 继承了接口的默认方法,即可以直接调用,也可以重写。
    1. class 类名 implements 接口名 {
    2. // 重写接口中抽象方法【必须】
    3. // 重写接口中默认方法【可选】
    4. }

    抽象方法的使用

    定义接口:

    ```java 定义接口:

public interface LiveAble { // 定义抽象方法 public abstract void eat(); public abstract void sleep(); }

定义实现类: public class Animal implements LiveAble { @Override public void eat() { System.out.println(“吃东西”); }

  1. @Override
  2. public void sleep() {
  3. System.out.println("晚上睡");
  4. }

} ``` 小贴士:子接口重写默认方法时,default关键字可以保留。子类重写默认方法时,default关键字不可以保留

接口小结

接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰。- JDK8前接口中的方法全是抽象方法,默认会自动加上public abstract修饰
- JDK 8开始,接口不再纯洁,支持静态方法,默认方法,私有方法。
- 接口中,没有构造器,不能创建对象
- 类与接口是多实现的 implements
- 接口与接口是多继承的 extends
- 接口体现的规范。