So suddenly updating from Java N to Java N+1 will no longer compile your code.
So suddenly updating from Java N to Java N+1 will no longer compile your code.
> Introducing new methods high in the inheritance hierarchy runs the risk of clashes over obvious method names such as reversed and getFirst.
> We will analyze a large corpus of Java code in order to assess these risks.
How does JVM handle this at runtime if you don't recompile, though? In CLR, on IL level, interface implementations and overrides both explicitly designate the original method they override/implement - so even if an already-compiled class has a method with the same name and signature as the newly added interface method, it wouldn't be considered an implementation of that method until you recompile the class against the new interface. But in JVM, isn't it handled by name at runtime as well?