Java8引入了 默认方法 和 静态方法 ,这两个方法可以直接在接口中写实现,不影响接口的实现类,也就是解决了接口兼容的问题。
Java8之前,每一次对接口的修改都会影响其的全部实现。
default 类.super.默认方法 对象.方法 类.方法
  被    
      default
    
关键字修饰的方法。  
  被    
      static
    
关键字修饰的方法。  
public interface Animal {
	public default void run() {
		System.out.println("run");
	};
	
	public static void eat() {
		System.out.println("eat");
	}
	
	public static void sleep() {
		System.out.println("sleep");
	}
}
  public class Dog implements Animal {
	
//  报错	
//	@Override
//	public default void run() {
//		Animal.super.run();
//	};
	
	@Override
	public void run() {
		System.out.println("dog run");
	};
	public void run2() {
		Animal.super.run();
	};
//  报错
//	@Override
//	public static void eat() {
//		System.out.println("eat");
//	}
//  报错
//	@Override
//	public void eat() {
//		System.out.println("eat");
//	}
	
	public static void eat() {
		System.out.println("dog eat");
	}
	
	public static void sleep() {
		System.out.println("dog sleep");
	}
	
	public static void main(String[] args) {
		Animal a = new Dog();
		a.run();
		
		Animal.eat();
		Animal.sleep();
	}
}
  dog run eat sleep
Java 8 新特性
Java 8新特性终极指南