アフィリエイト広告を利用しています

広告

posted by fanblog

2018年05月15日

thisって何ものなのか

プログラミング初心者やthisの無い言語を触ってきた人なら尚更だと思うので

 

javaではthisがどのようなものかさくっと説明します

this参照

普段、javaのコードを書く上で使うのがthis参照と言われるものです

 

オブジェクト指向を勉強した人であればカプセル化なんかで使うことが多いかと思います。

 

カプセル化なんかで使うことがあるので気がつくかもしれませんが

 

thisは…

 

そのクラスのオブジェクトを参照する参照型オブジェクト

 

なんです。

 

例えば

 

sample.java

 

public class sample{

 

private String str = "Hello";

 

public static void main(String... args){

sample s = new sample();

s.show(",world");

}

 

public void show(String str){

System.out.println(this.str + str);

}

}

 

こんなクラスとメソッドがあったとします

 

この時の出力結果は…

 

Hello,World

 

です。

 

showメソッドの引数、パラメータのString型のstrと

 

フィールド変数のstr名前がかぶっていますがthisをつけることで

 

名前がかぶっていたとしてもフィールド変数への参照となり区別することができます

 

ちなみにさっきのコードでthisをつけないとパラメータ変数の情報だけ出力されます

,world,world

 

これは、同じ名前のフィールド変数とローカル変数があった場合

 

javaでは「フィールド変数が隠される」ためです

 

さらに言うとクラス内の変数はjavaの場合

 

フィールド変数よりもローカル変数やパラメータが優先されます

 

thisはそれらをガン無視して、フィールド変数を参照してくれます

 

ちなみに、メソッドにstaticが付いている場合はthisを使った参照は行えません

 

thisでこんな使い方も

以下のようなクラスがあったとします

 

sample2.java

 

class sample2{

private String str,str2,str3;

 

//コンストラクタその1

sample2(String s1,String s2){

this(s1,s2,"!");

}

 

//コンストラクタその2

sample2(String s1,String s2,String s3){

this.str = s1;

this.str2 = s2;

this.str3 = s3;

}

}

 

こんな使い方もできます

 

ざっくり言えば、this呼び出しってやつです

 

実はthisを使ってコンストラクタ内から別のコンストラクタを呼ぶことができます

posted by Jude at 23:10 | Comment(0) | This word
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

いつもお世話になります。ブログ引越しになったので最新のSFDC情報はこちらへ SFU_CRT_BDG_Pltfrm_App_Blder_RGB.jpg SFU_CRT_BDG_Admin_RGB.jpg
プロフィール
Judeさんの画像
Jude
こんにちは、自由が欲しいJudeっす。最近ネットビジネスを始まった。結婚はしていないが、会社の残業が大嫌い、何しても周りの人に迷惑をかけないように、社会に負の影響を与えないように常に意識してる。残業のない国になるため、できるところでコツコツ貢献しておる。、国民のみんなきっともっと幸せと信じている。
プロフィール
<< 2019年01月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
検索
月別アーカイブ
日別アーカイブ
最新コメント
ファン
×

この広告は30日以上新しい記事の更新がないブログに表示されております。