2

私はC#のクラスコンストラクターについて読んでいます。例は、オーバーロードされたクラス コンストラクターを示しています。そして、それらのすべてにはvoidキーワードがなく、戻り値もありません..

例えば

public Class myClass
{
  public myClass()
  {

  }

  public myClass(int id)
  {

  }
//other class memeber go here...
}

1) では、C# コンストラクターがvoidデフォルトであると言うのは正しいですか?

2) 同じことが Java にも当てはまりますか?

4

3 に答える 3

2

いいえ、それらはコンストラクターです。どちらかといえば、元のクラスのオブジェクトを返すものと考えることができます。しかし、それらは通常のメソッド/関数ではありません

于 2013-02-19T04:02:20.257 に答える
2

Java と同じクラス型を暗黙的に返すコンストラクターもありません。

于 2013-02-19T04:03:57.613 に答える
0

コンストラクターには戻り値の型がなく、何も返されません。これはメソッドではありません。C# 言語仕様 4.0 から:

インスタンス コンストラクターは、クラスのインスタンスを初期化するために必要なアクションを実装するメンバーです。インスタンス コンストラクターは、コンストラクター宣言を使用して宣言されます。

属性 opt コンストラクター修飾子 opt コンストラクター宣言子 コンストラクター本体

コンストラクターは、戻り値の型がなく、それを含むクラスと同じ名前を持つメソッドのように宣言されます。

ここには戻り型はありません。

コンストラクターはnew、オブジェクトのインスタンスを返す演算子を介して呼び出されます。

于 2013-02-19T04:12:46.597 に答える