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

interface initialization for default methods

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • P2
    • Resolution: Fixed
    • 8
    • 9
    • hotspot
    • b40
    • generic
    • generic
    • 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

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

                Dates

                  Created:
                  Updated:
                  Resolved: