Ni. Vous obtiendrez une erreur de compilation, vous demandant de préciser quelle méthode vous voulez l'appeler. Vous pouvez le faire en faisant explicitement le casting du premier argument:
showInputDialog((Object) null, "Write something");
ou
showInputDialog((Component) null, "Write something");
Mise à jour je devrais avoir connu - ne doutez jamais de Jon Skeet. Le problème que j'ai évoqué ci-dessus se produit uniquement lorsqu'il est impossible de déterminer quelle méthode est la plus précise. Voici un cas de test:
public class Test {
public void doSomething(String arg1, Object arg2) {
System.out.println("String, Object");
}
public void doSomething(Object arg1, String arg2) {
System.out.println("Object, String");
}
public static void main(String[] args) {
Test test = new Test();
test.doSomething(null, null);
}
}
Le ci-dessus donnera une erreur du compilateur.