1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コンストラクタ

Posted at

コンストラクタの定義

  • インスタンス化した時に最初に(自動で)呼び出される
  • 名前がクラスと同じ
  • 戻り値をもたない(void も書かない)

構文

[修飾子]コンストラクタ名(引数) {}

デフォルトコンストラクタ

クラスに1つもコンストラクタが明示的に定義されていない場合
引数なし、中身なしのコンストラクタ(デフォルトコンストラクタ)が自動的に追加される

class Test {
    int score;
    Test( ) { //引数なし
    
        //実装なし
        
    }
}

戻り値

ちょっと悩んだので記録しておく

//コードA
class Exm {
  void Exm() { System.out.println("Say HELLO");}
}

---------------------------------------------

class Test {
  public static void main(String[] args) {
    Exm e = new Exm();
  }
}
//コードB
class Exm {
  Exm() { System.out.println("Say HELLO");}
}

---------------------------------------------

class Test {
  public static void main(String[] args) {
    Exm e = new Exm();
  }
}

この場合の出力結果は以下の通り

///コードA

///コードB
Say HELLO

コードAは -void- がついており戻り値が指定されているため、
メソッドとして扱われるためインスタンス化すると
デフォルトコンストラクタが呼び出され、何も出力されない。

void =「戻り値なし」として認識していたため悩んだ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?