Got this from abHilash's Quiz - can someone explain this to me:
public class AQuestion
{
public void method(Object o)
{
System.out.println("Object Verion");
}
public void method(
String s)
{
System.out.println("String Version");
}
public static void main(String args[])
{
AQuestion question = new AQuestion();
question.method(null);
}
}
compiles and runs outputing : String Version
but:
public class AQuestion
{
public void method(StringBuffer sb)
{
System.out.println("StringBuffer Verion");
}
public void method(String s)
{
System.out.println("String Version");
}
public static void main(String args[])
{
AQuestion question = new AQuestion();
question.method(null);
}
}
does not compile - citing an ambiguous method reference at question.method(null)
what's up with this?