8
JDK 8のデフォルトは、Javaの多重継承の一形態ですか?
JDK 8の新機能により、バイナリ互換性を維持しながら既存のインターフェースに追加できます。 構文は次のようなものです public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } このようにしてSomeInterface、この新しいバージョンにアップグレードするときの既存のすべての実装で、突然コンパイルエラーが発生することはありませんnewInterface()。 これは素晴らしいことですが、実装しなかった新しいデフォルトのメソッドを両方とも追加した2つのインターフェイスを実装するとどうなりますか?例を挙げて説明しましょう。 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(); これはJDK8の一部として定義されていますか? …