接口定义语法规则:
public interface 接口名{
常量
抽象方法
默认方法 //JAVA8
静态方法 //JAVA8
私有方法 //JAVA9
}
示例
-
接口
public interface AA { //常量 public static final int PAGE_SIZE = 12; String ABCD = "asdf"; //抽象方法(方法声明) public abstract int fun1(); String fun2(); //默认方法 public default void fun3() { System.out.println("fun3"); fun4(); fun5(); } //私有方法 private void fun4() { System.out.println("private"); } //静态方法:只能通过接口名调用 static void fun5() { //静态方法不能直接调用普通方法 // fun4(); System.out.println("static"); } }
-
实现类
public class BB implements AA{ @Override public int fun1() { //调用父接口的默认方法 fun3(); //不能调用父接口的私有方法 //fun4(); //不可以直接调用父接口的静态方法 //fun5(); //不可以通过实现类的对象调用父接口的静态方法 //new BB().fun5(); //只可以通过类名调用父接口的静态方法 AA.fun5(); return 0; } @Override public String fun2() { return null; }
}