[javaSE笔记6]接口

Interface

接口的定义和介绍

接口 (interface) 就是多个类的公共规范

接口是一种引用数据类型, 最重要的内容就是其中的 : 抽象方法

定义一个接口的格式 :

public interface 接口名称 { }

接口中可以包含的内容有 :

  1. 常量
  2. 抽象方法

Java8后可以额外包含 :

  1. 默认方法

  2. 静态方法

Java9后可以包含 :

  1. 私有方法

接口中的抽象方法的修饰符必须是 : public abstarct

public interface MyInterface01 {

    public abstract void method01();
    public abstract void method02();
}

也可以省略不写 ( 默认就是public abstract ) :

public interface MyInterface01 {

    void method01();
	void method02();
}

接口的实现与使用

接口不能直接使用, 必须有一个"实现类"来实现该接口

格式 : public class 类名 implements 接口名 { }

接口的实现类必须覆盖重写 ( 实现 ) 接口中所有的抽象方法, 除非实现类就是抽象类

接口 :

public interface MyInterface01 {

    void method01();
    void method02();
    int  method03();
}

实现类 :

public class demo01 implements MyInterface01 {

    @Override
    public void method01() {
        System.out.println("method01");
    }

    @Override
    public void method02() {
        System.out.println("method02");
    }

    @Override
    public int method03() {
        return 0;
    }
}

使用 :

public static void main(String[] args) {
        demo01 demo = new demo01();
        demo.method01();
        demo.method02();
        demo.method03();    
   }

默认方法

可以直接在接口中定义, 实现类不需要覆盖重写 ( 也可以覆盖重写, 在使用时如果没有重写, 就会向上查找 )

public interface MyInterface01 {

    void method01();
    void method02();
    
    public default void methodDefault() {	// 默认方法
        ...
    }
}

静态方法

public interface MyInterface01 {

    void method01();
    void method02();
    
    public static void methodStatic() {	// 默认方法
        ...
    }
}

注意 : 静态方法不可以通过接口实现类的对象来调用, 而应该通过接口名称, 直接调用其中的静态方法

正确的调用 : MyInterface01.methodStatic()

私有方法

  1. 普通私有方法
  2. 静态私有方法

解决接口内部重复代码的问题

常量

接口当中的常量, 定义必须使用 public static final 进行修饰( 可省略 ), 必须赋值

常量的推荐命名方式 : 使用完全大写, 并且使用下划线进行分隔

几个注意事项

  1. 接口是没有静态代码块或者构造方法的
  2. 一个类的直接父类是唯一的, 但是一个类可以同时实现多个接口
public class XX implements interfaceA, interfaceB { }
  1. 如果实现类所实现的多个接口当中, 存在重复的抽象方法, 那么只需要覆盖重写一次
posted @ 2020-06-24 23:28  roccoshi  阅读(93)  评论(0编辑  收藏  举报