1. 接口里面的变量为常量,默认修饰符是public static final(默认不写)修饰;接口允许定义成员变量,但必须是常量,且必须初始化。
  2. 接口里面的方法为抽象方法,默认修饰符是public abstract(默认不写)。抽象方法是没有方法体的(就是没有大括号{})。
  3. 在jdk8之后,接口中的方法可以被default或static修饰,但是被这两个修饰的方法必须有方法体。就是说在接口中定义的方法除了default和static关键字修饰的方法有方法体,其他方法都是没有方法体的抽象方法。
  4. 实现接口的类,必须实现接口中所有的方法,且不能降低方法的运用域,即必须显示声明为public。
  5. 抽象类不需要实现接口中的方法。抽象类也可以实现接口,但是可以实现部分方法或者一个方法都不实现。
  6. 抽象类和接口类都是无法实例化(new对象),任何编译器中直接使用new都是会报错。
  7. 接口中只有常量定义,没有变量声明。
public interface test1 {
    public static final int a = 1;
    public abstract void add();
    default  void move(){};
    static void select(){};
}