interface initialization for default methods

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P2
    • 9
    • Affects Version/s: 8
    • Component/s: hotspot
    • b40
    • generic
    • generic
    • Not verified

        JDK-8043190 is adding clarifications to the JVM specification on super interface initialization.
        First, recursively initialize any super class, unchanged.
        Then recursively initialize super interfaces that declare a non-abstract instance method in class file interface array order.

        Example:
        interface I
        interface J extends I
        class A implements J
        interface K extends I
        class B extends A implements K
        class C implements L

        order of initialization: I, J, A, K, B, L, C

        In JDK8 this was accomplished by initializing any super interfaces that declare or inherit default methods when initializing all superclasses of a class being initialized.This surprises people by changing the order of superinterface initialization.
        .

              Assignee:
              Karen Kinnear (Inactive)
              Reporter:
              Karen Kinnear (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: