Перегрузка конструкторов и конструкторов

Кто-нибудь может объяснить?

Когда мы перегружаем конструктор различными параметрами, один из которых имеет объект типа данных, а другой - строку типа данных, и когда мы создаем объект этого класса с предоставлением входного параметра в качестве нулевого значения, он вызывает конструктор со строкой в ​​качестве входного параметра, но не конструктор, имеющий входной параметр в качестве объекта. Поскольку Object является суперклассом String, кто-нибудь может мне сказать, почему он вызывает конструктор со строкой входного параметра?

Class A
{
  public A(Object o)
   {
     System.out.println("Object Drawn");
   }
   public A (String o)
   {
     System.out.println("String Drawn");
   }
   public static void main(String args[])
   {
   new A(null);
   }
 }

Выход:- Строка обращается

1 ответ

Он всегда вызывает наиболее конкретный метод сопоставления или конструктор. Если бы не так, вы бы всегда звонили Object и перегружать это было бы бессмысленно.

Этот подход использует в Java и C++

Другие вопросы по тегам