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

常に最も具体的な一致するメソッドまたはコンストラクターを呼び出します。そうでない場合は、常に呼び出しObjectてオーバーロードしても意味がありません。

このアプローチは、Java および C++ で使用されています

于 2012-09-08T07:34:01.310 に答える