传统的接口只能有抽象的方法。但是程序员在使用时,发现这种方式很不方便。接口的实现必须重写所有的方法,这个过程很麻烦。因此,java设计人员做出了妥协,在java 8中支持默认方法和静态方法,以便在实现接口时,可以选择不重写默认修改的方法。
default方法
·default方法是指接口提供一个默认实现的方法,并且不强制实现类重写此方法。在接口中,默认方法使用default关键字来修饰
·default修饰方法只能在接口中使用,在接口种被default标记的方法为普通方法,可以直接写方法体
设接口中有如下default方法:
public interface demo {
public default void demoFun(){
System.out.println("我是接口");
}
}
Test类实现接口:
public class Test implements demo {
} //默认实现接口中的demoFun()功能
Test2类实现并重写接口demo 中的demoFun方法:
public class Test2 implements demo {
@override
public void demoFun(){
System.out.println("我是接口2");
}
} //重写demoFun功能
static方法
·static方法的用法和普通的static方法一样,当方法被static修饰后,该方法不能再被重写。
·static修饰方法能在接口或类中使用,在static标记的方法为静态方法,必需写方法体
静态方法:
public interface InterfaceA {
static void showStatic() {
System.out.println("static方法");
}
}
Test类:
public class Test {
public static void main(String[] args) {
InterfaceA.show();
}
}