8
JDK 8中的默认值是Java中的一种多继承形式吗?
JDK 8中的一项新功能允许您在保留二进制兼容性的同时添加到现有接口。 语法就像 public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } 对于所有现有的实施方式,SomeInterface当他们升级到这个新版本时,并不会突然出现编译错误newInterface()。 虽然这很简洁,但是当您实现两个都添加了您未实现的新默认方法的接口时会发生什么呢?让我举例说明。 public interface Attendance { boolean present() default DefaultAttendance.present; } public interface Timeline { boolean present() default DefaultTimeline.present; } public class TimeTravelingStudent implements Attendance, Timeline { } // which code gets called? new TimeTravelingStudent().present(); 是否已将其定义为JDK …