JAVA接口中的default方法和static方法
1、概念
- 接口提供一个默认实现的方法,并且不强制实现类重写此方法
- 默认方法使用default关键字来修饰
- default修饰方法只能在接口中使用,在接口种被default标记的方法为普通方法,必须要写方法体。
- 接口中支持定义静态方法,将关键字换成static即可
这是jdk 8 后有的,7 没有
2、接口的默认方法和静态方法
- 实现类可以直接使用接口中的default方法,也可以创建接口对象后使用接口中的default方法
- 默认方法可以不强制重写,并且在一个类实现接口后可以直接使用接口中的默认方法
- 实现接口的类或者子接口不会继承接口中的静态方法
public interface InterfaceA { /** * * 默认方法可以不强制重写,并且在一个类实现接口后可以直接使用接口中的默认方法 * * * */ public default void prints(){ System.out.println("print ===="); } static void showStatic() { System.out.println("showStatic==="); } } public class InterfaceAImpl implements InterfaceA{ static void ste(){ System.out.println("sss"); } public static void main(String[] args) { InterfaceAImpl interfaceA = new InterfaceAImpl(); InterfaceA in = new InterfaceAImpl(); in.prints(); // in.showStatic(); 这里不行,不能这样调用会报错 必须要InterfaceA.showStatic(); interfaceA.ste(); interfaceA.prints(); } }