一、说明
Java 8 新增了接口的静态方法和默认方法。即接口可以有实现方法,而且不需要实现类去实现其方法,通过static和default关键字实现
静态方法和默认方法的引进,解决了接口一旦发生修改将与现有的实现不兼容的问题
二、示例
- 1、接口
package com.xl.infc;
public interface Employee {
/**
* 抽象方法 实现类必须重写,必须通过实现类的实例来调用
*/
public void say();
/**
* 静态方法 只能通过接口的接口名来调用,实现类可以互不冲突的定义相同的方法并通过实现类的类名来调用
*/
public static void work() {
System.out.println("干活");
}
/**
* 默认方法 必须通过实现类的实例来调用,可以重写,但不能再加default关键字,且将覆盖接口中的实现
*/
public default void role() {
System.out.println("员工");
}
}
- 2、实现
package com.xl.infc;
public class Programmer implements Employee {
@Override
public void say() {
System.out.println("上班");
}
/**
* 实现类可以定义的和接口相同的静态方法,通过类名来调用
*/
public static void work(