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

interface initialization for default methods

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 9
    • 8
    • 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.
        .

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

                Created:
                Updated:
                Resolved: