Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
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. .