Here\'s a simple class that demonstrates the issue:
package com.mimvista.debug;
public class DefaultCollisionTest {
public static interface Interface1 {
As I understand it, the question is about passing an object of an already compiled class as a parameter. Since you cannot call the extractName(X) method with an abstract class or an interface, the argument object must have it's getName() method resolved and unambiguous. Java uses a late binding for resolving which overridden method is called at runtime, so I would agree with BonusLord that the method could be correctly compiled and run even if javac throws the error.