一、接口相对普通类的特点:

接口是抽象得不能再抽象的类。其中只包含常量和方法的定义,而不包含方法的实现。

接口必须是public static的。(默认也是如此)
接口中的方法必须是abstract、public的。
implements interface可以和extends class 同时使用

接口中的变量(或者说常量)一定是public static final的。
接口的extends和类不同,接口可以有多个父接口。
接口中可以定义常量/枚举
接口可以多继承

枚举距离:enum Light{red, green, yellow}

二、

接口使用举例:
接口1:
```java
package fliabe;

public interface Bitable {
public int teethNum = 8;
void bit();
}

接口2:
```java
package fliabe;

public interface Flyable {
    final int wingsNumber = 2;
    void fly();
}

类继承两个接口:

package fliabe;
public class Bat implements Bitable,Flyable{
    public void fly() {
        System.out.printf("I can fly\n");
    }
    public void bit() {
        System.out.printf("I will bit\n");
    }
}

测试代码:

package fliabe;

public class Test {
    public static void main(String []args) {
        Bat bat1 = new Bat();
        bat1.fly();
        bat1.bit();
    }

}

三、接口的继承


    [访问修饰符]    interface 接口名    [extends  父接口1,  父接口2 ···]    {

    常量定义 ; 

    方法定义 ; 

    }