接口的默认方法和静态方法
public interface MyDSService {
//抽象方法
String abstractMethod();
}
public class MyDSServiceImpl implements MyDSService {
public String abstractMethod() {
return "execute abstract method";
}
}
public interface MyDSService {
//抽象方法
String abstractMethod();
//默认方法
default String defaultMethod(){
return "execute default method";
}
//静态方法
static String staticMethod(){
return "execute static method";
}
}
方法调用:
public class DSDemo {
public static void main(String[] args) {
//接口实现类实例对象
MyDSServiceImpl myDSService = new MyDSServiceImpl();
//调用默认方法
String defaultMethodResult = myDSService.defaultMethod();
System.out.println(defaultMethodResult);
//调用静态方法
System.out.println(MyDSService.staticMethod());
}
}
//方法重写
MyDSService service = new MyDSService() {
@Override
public String commonMethod() {
return null;
}
@Override
public String defaultMethod() {
return null;
}
};
普通方法必须实现,默认方法可以选择性重写,静态方法无法重写。