Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8043275

interface initialization for default methods

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 8
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b40
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Not verified

      Backports

        Description

        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.
        .

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  Created:
                  Updated:
                  Resolved: