3

谁能解释一下?

当我们重载具有不同参数的构造函数时,一个具有数据类型对象,另一个具有数据类型字符串,并且当我们创建此类的对象并提供输入参数为 null 时,它使用字符串作为输入参数而不是输入参数为 Object 的构造函数。由于 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);
   }
 }

输出:- 绘制字符串

4

1 回答 1

4

It always calls the most specific matching method or constructor. If it didn't you would always call Object and overloading it would be pointless.

This approach is using in Java and C++

于 2012-09-08T07:34:01.310 回答