2015-05-19 1 views
0

Я не понимаю, почему в следующем коде вывод «String Version». Как все получается из объекта, то почему оно соответствует версии String?Как перегрузка в Java работает?

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[]) throws Exception 
    { 
    AQuestion question = new AQuestion(); 
    question.method(null); 
    } 
} 

Выход: Строка Версия

ответ

0

Java Code

Вы должны передать объект для того, чтобы принять объект Verion

public class TestProgram { 


    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[]) 
     { 
      TestProgram question = new TestProgram(); 
      question.method(question); 
     } 
    }