我个人的理解就是之所以有接口就是为了弥补Java中类的继承只能单继承,不能多继承,当然了在接口中叫多实现,当然了接口的实现类似于类的继承,当然还是有些区别的
那个实现接口的类不能直接调用静态方法
要调用接口中的静态方法必须通过接口直接调用
而类调用静态方法,这俩种方式都可以
public interface Test {
public static final int num = 5;//常量
public abstract void eat();//抽象方法默认方法 默认的是public default,其中public可以省略,而default
// 默认方法 默认的是public default,其中public可以省略,而default不可以省略
public default void sleep() {
System.out.println("睡觉");
}
//静态方法
public static void method() {
System.out.println("方法");
}
}
public class Imp implements Test {
@Override
public void eat() {
System.out.println("吃");
}
}
public class Demo {
public static void main(String[] args) {
Imp imp = new Imp();
imp.method;
//编译报错
/**
* 因为那个实现接口的类不能直接调用静态方法
* 要调用接口中的静态方法必须通过接口直接调用
* */
}
}
接口中的静态方法不可以被实现类继承