本ブログにはプロモーションが含まれております。

Java

【初心者向け】Javaのコンストラクタとは?【書き方サンプル付き】

スポンサーリンク

  • 「Javaのコンストラクタとは?」
  • 「コンストラクタの書き方を知りたい」

本記事ではこれらのお悩みを解決していきます!

Javaをメインにしている現役エンジニアです。

自分が苦労したあの頃を思い出しながら、プログラミングに関する記事を初心者向けに発信しています!

コンストラクタとは

コンストラクタとは、クラスをnew(インスタンス化)したときに必ず実行されるメソッドのことです。

コンストラクタ: クラスをnewすると実行されるメソッドのこと

newしたら必ず実行されるという特徴から、以下のような用途で使われます。

  • 変数を初期化する
  • 変数に初期値を代入する

ちなみに、コンストラクタとはこの部分のことですよ!

Javaのコンストラクタの書き方

Javaのコンストラクタには以下の基本的なルールがあります。

[クラス名と同じ名前] () { }

どこかで見たことがあるような形ですよね。

そうです。メソッドの書き方ととても似ています。

class Human {
  String name;
  // コンストラクタ
  public Human() { 
    
  }
  // メソッド
  public String getName() {
    return this.name;
  }
}

しかし、もう違いにはお気づきのことでしょう。

メソッドとは違い、コンストラクタには「戻り値の型」の部分が書かれていません

戻り値の型とは、"void"とか"String"とか、メソッド名の前についているアレですね。

そもそもコンストラクタ内でreturnを書くことができないので、間違えて書かないように気を付けましょう。

コンストラクタでreturnは使えない

Javaのコンストラクタのルール

次に、コンストラクタのルールについてご紹介します。

ルール1: 必須ではない

最初のルールですが、実はコンストラクタは必ず必要なわけではありません

そのため、初期化または初期代入したいものがない場合は、書かなくても大丈夫です。

※正確には、Javaのクラスにはコンストラクタは必須なので、書かなかった場合は「何もしない」というコンストラクタを追加してくれています。

ルール2: 複数のコンストラクタを使い分けられる

コンストラクタは2つ以上書くことが可能です。

その場合は、必ず引数の数が違うコンストラクタを作成しましょう

冒頭のサンプルコードのような形ですね。

class Human() {
  String name;
  int age;
  // 引数0個
  public Human() {
  
  }
  // 引数2個
  public Human(String name, int age) {
    this.name = name;
    this.age = age;
  }
}

この場合、newされるときに渡される値が0個か2個かによって、実行されるコンストラクタが変わります。

呼び出す側は、コンストラクタの引数の数に合わせた呼び出しをしないとエラーが出るので気を付けましょう。

class Main {
  public static void main(String[] args) {
    Human h1 = new Human(); // 引数0個のコンストラクタが実行される
    Hunan h2 = new Human("田中太郎", 25); // 引数2個のコンストラクタが実行される

    Human h3 = new Human("田中太郎") // ×エラー
    Human h3 = new Human("田中太郎", 25, "ケーキが好き") // ×エラー
  }
}

ルール3: returnと戻り値の型を書いてはいけない

先ほども少しお話ししましたが、コンストラクタではreturnを書いてはいけません

returnしないので、戻り値の型を書いてもいけません。

class Human {
  String name;
  
  public Human() {
    return name; // ×エラー
  }
}

Javaのコンストラクタの使い方:応用編

以上でコンストラクタの基本的な使い方は学びました。

しかし実は、コンストラクタにはその他の使い方があります。

this()やsuper()といった書き方です。

こちらは応用的な使い方なので、また別記事で紹介したいと思います。

まとめ

Javaのコンストラクタの使い方とルールをご紹介しました。

コンストラクタとはnewすると必ず実行される部分でしたね。

また、書き方のルールもあるので、ぜひ使いながら慣れていってほしいと思います。

最後までお読みいただきありがとうございました。

▼あわせて読みたい記事

スポンサーリンク

-Java
-,

© 2024 教職志望だった文系エンジニア Powered by AFFINGER5