Перегрузка конструкторов и конструкторов
Кто-нибудь может объяснить?
Когда мы перегружаем конструктор различными параметрами, один из которых имеет объект типа данных, а другой - строку типа данных, и когда мы создаем объект этого класса с предоставлением входного параметра в качестве нулевого значения, он вызывает конструктор со строкой в качестве входного параметра, но не конструктор, имеющий входной параметр в качестве объекта. Поскольку 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++