≪Java≫ thisとは

≪Java≫ thisとは

 フィールド変数名とコンストラクタの引数名が同一名の場合、フィールド変数にthisを付ける。(メソッドの場合にも使える)

 ≪使い方≫
  this . [ メンバ名 ]

 ≪thisとは≫
  ・普段見えていないが、フィールド変数には全てthisが付いている(コンパイラが付ける)。
  ・オブジェクトが生成されると、thisは参照(オブジェクトのアドレス)に置き換えられる。
  ・コンストラクタインスタンスメソッドの中で使用できる。( ← 正しい使い方)
  ・クラスメソッドの中で使用するとコンパイルエラーになる。( ← 間違った使い方)
  ・return this; のような使い方も可能

 ≪その他≫
  コンストラクタの引数名とフィールド変数名が同じ場合、以下のようにthisを付けないとどうなるか?

  public class Music{
   String name;
   public Music (Stirng name){
    this.name = name;
     ↑ 本来thisを付けるところに付けていない。

  上記の場合、コンストラクタの引数と値を引数に代入している。
  結果的に、コンパイルエラーにも実行時エラーにもならないが、フィールド変数には値が入らず、フィールド変数「name」は null となってしまう。

ラベル:javaThis



引っ越し前の記事
シェアする
senをフォローする
プレミア商品・お得商品情報局(予約・再販情報も)


タイトルとURLをコピーしました