Java8中接口的新特性测试
在Java SE 8之前,接口中是不能提供方法实现的,但是JDK8提供了接口的默认方法和静态方法的支持。如果类继承了抽象类,采取类优先的原则,优先继承抽象类的方法。我们在编写类的时候会发现,必须先extends类再implements接口,否则工具会提示extends的错误。不论抽象类的方法有没有提供默认实现,类都会继承抽象类的方法,就算接口的方法提供了默认实现,也完全不关心。程序输出C说明Test类继承了抽象类C的eat方法的实现。接口A,B:抽象类C:测试类Test:运行main方法,控制台打印出抽象类中eat方法的输出结果。如果抽象类不在了,两个接口方法冲突了,该听谁的呢?访问静态方法时通过接口访问,即People.eat。或者试着重写一个eat方法并加上@Override注解,工具提示“Method does not override method from its superclass”。