在Java 9+版本中,接口的内容可以有:


1:成员变量其实是常量格式:

[public][static][final] 数据类型 常量名称 =数据值;

注意:

   常量必须进行赋值,而且一旦赋值不能改变

   常量名称建议完全大写,且用下划线进行分隔。

public static final int NUM_OF_MYINTERFACE=10;

2:接口中最重要的就是抽象方法,格式:

   [public][abstract] 返回值类型 方法名称(参数列表);

注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类也是抽象类

public abstract void interfaceA(Integer a);

3:从JAVA 8开始, 接口里允许定义默认方法 格式

[public] default 返回值类型  方法名称(参数列表){方法体}

public default void InterfaceDefault(){

    System.out.in.println("你好")

        }

       我对它的理解是扩展了接口的可维护性,当你要对接口增加新的功能方法时,你就不需要对实现接口的实现类一一进行修改了


4:从JAVA 8开始,接口里允许定义静态方法,格式:

[public][static] 返回值类型 方法名称(参数列表){方法体}

注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法


从JAVA 9开始,接口里允许定义私有方法,格式:

普通私有方法:private 返回值类型 方法名称(参数列表){方法体}

静态私有方法:private static 返回值类型 方法名称(参数列表){方法体}

注意:private方法只有接口自己能调用,不能被实现类或者别人调用

public interface Test{

//以静态为例

    public static void methodDefault1(){

        System.out.println("静态方法1");

        methodStaticCommon();

    }

public static void methodDefault2(){

        System.out.println("静态方法2");

        methodStaticCommon();

    }

private static void methodStaticCommon(){

        System.out.println("aaaaaa");

        System.out.println("aaaaaa");

        System.out.println("aaaaaa");

    }


}