【Java入門】getterとsetterを紐解く
2018/04/17
メインクラスでインスタンスの名前を出力する方法を紐解く
目標:ゲッターとセッターの仕組みを理解する
メインクラスでは、以下のことを行います。 ・インスタンスの作成 ・インスタンスの名前の設定 ・インスタンスの名前の出力
public class Main { public static void main(String[] args) { Character hero = new Character(); hero.setName("Hero"); System.out.println(hero.getName()); } }
キャラクタークラスでは、 ①インタスタンスの名前の設定 ②インスタンスの名前の出力 をどのように行うかを設定します。
public class Character { private String name; public void setName(String name) { this.name = name; } public String getName() { returnthis.name; } }
①インタスタンスの名前の設定
この処理では、名前をセットするだけで戻り値の方はないため、voidに設定します。
また、名前をセットする際にString型の変数を利用します。
ここでは、処理で利用する変数をnameと設定しています。
左のnameは、メインクラスで作成されたインスタンスの要素の一つとしてのnameです。
右のnameは、「public void setName(String name)」の中のnameです。
インタスタンスhのnameを"Hero"とセットします。
メソッド前に、「処理の対象となるインスタンス.」と定義します。
②インスタンスの名前の出力
キャラクタークラスで、nameはprivate型で定義されているため、定義されているクラス内でしか利用できません。よて、他クラスであるメインクラスでは利用できません。
メインクラスでnameを出力するため、getNameというメソッドを定義します。
getNameはString型のnameを返すためのメソッドなので、String型とします。
利用する変数はないため、引数はありません。
return は変数を返す働きをします。
getName内の処理で、インスタンスの要素としてのnameを返します。
インスタンスhのnameをString型として返します。
コンパイルすると、「 Hero」と出力されます。