Appearance
java8新特性
默认方法
- 默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法
java
//默认方法
public interface Vehicle {
default void print(){
System.out.println("我是一辆车!");
}
}
多个默认方法
- 一个类实现了多个接口,且这些接口有相同的默认方法,以下实例说明了这种情况的解决方法:
java
public interface Vehicle {
default void print(){
System.out.println("我是一辆车!");
}
}
public interface FourWheeler {
default void print(){
System.out.println("我是一辆四轮车!");
}
}
- 解决方案一:创建自己的默认方法,来覆盖重写接口的默认方法
java
public class Car implements Vehicle, FourWheeler {
default void print(){
System.out.println("我是一辆四轮汽车!");
}
}
- 解决方案二:使用 super 来调用指定接口的默认方法
java
public class Car implements Vehicle, FourWheeler {
public void print(){
Vehicle.super.print();
}
}
静态默认方法
- 接口中可以声明(并且可以提供实现)静态方法。
java
public interface Vehicle {
default void print(){
System.out.println("我是一辆车!");
}
// 静态方法
static void blowHorn(){
System.out.println("按喇叭!!!");
}
}