JDK1.8之前:接口类只能定义方法名,返回类型和参数列表,不能有方法体。接口提供了规范,就像肯德基一样,装修风格、产品都一样的,至于招几个员工、怎么经营都是加盟店说了算。
JDK1.8中使用两个新概念扩展了接口的含义:默认方法和静态方法,也就是说接口中可以有方法的具体实现。
(1)、静态方法
使用关键字static来修饰方法,可以直接通过接口名调用。
interface Phone {
static void makePhone(){
System.out.println("制造手机");
}
}
class XiaomiPhone implements Phone {
@Override
public void makePhone {
System.out.println("制造小米手机");
}
}
(2)、默认方法
使用关键字default来修饰方法,默认方法通过对象实例来调用;默认方法使得开发者可以在不破坏二进制兼容性的前提下,往现存接口中添加新的方法,实现类不用强制性实现接口里的默认方法。
interface Phone {
default void makePhone(){
System.out.println("制造手机");
}
default void typePhone(){
System.out.printl