【有书共读】Java攻略:接口中的方法
接口中的默认方法
在Java8中,允许接口中定义默认方法,即必须用default修饰,
public interface Employee{ default int mothed{ System.out.println("接口中的默认方法"); return 0; } }
在此之前,接口中只能有抽象方法,且不能在接口中实现。大多数接口为了保持向后的兼容性,都用默认方法对Java接口进行的增强,一般情况下在接口里添加新方***破坏它的所有实现,但如果添加的是默认方法,就不会破坏它的实现,而且默认方法和其他方法的用法没什么两样
List<Integer> nums = new ArrayList<>(); nums.add(3); nums.add(4); nums.add(7); nums.forEach(System.out::println);
如上面的代码所示,最后一步调用了默认方法forEach
接口中的静态方法
静态方法,也叫类方法,须用static修饰,这样可以直接用接口名调用,而不需要实现它
public interface Employee{ static void test(){ System.out.println("静态方法"); } }
但是需要注意的几点是
- 静态方法必须有一个实现
- 无法重写静态方法
- 通过接口名调用静态方法
- 无须实现接口以使用静态方法