JAva thisキーワード
2757 ワード
JAvaはthisキーワードを提供し、thisキーワードはオブジェクトのデフォルトの参照です.thisが現れる場所によって、thisがデフォルトオブジェクトとしての参照には2つの形式があります.1、構築方法に現れます.thisは、構築方法の実行時に初期化されたオブジェクトを表します.2,メソッドに現れ,thisはメソッドを呼び出すオブジェクトを表す.このメソッドを呼び出した人は、thisが誰を表しますか.thisの最大の役割は、クラスのメソッドを呼び出し、クラスの別のメソッドまたは属性を呼び出すことです.次のようになります.
オブジェクトの1つのメソッドが別のメソッドに依存するシナリオは、このように一般的です.したがってjavaは、オブジェクトの1つのメソッドが別のメソッドまたはプロパティを呼び出すときにthisキーを省略する場合があります.すなわち、上記のrun()は、以下のように変更することができる.
ほとんどの場合、メソッドが同じインスタンスのプロパティにアクセスする場合は、thisキーを指定する必要はありません.ただし、メソッドのローカル変数とプロパティが同じ(名前が同じ)場合、メソッドでプロパティを使用する必要がある場合は、thisキーを使用する必要があります.たとえば、次のようにします.
我々はプログラミング時に規範的に言えば,メソッドの局所変数の名前をクラスの属性名と同じにすることはできない.ここではthisの役割を説明するために書く.
注意:javaの構文規定staticメソッドではthisキーワードは使用できません.そうしないと、コンパイル時に構文エラーが表示されます.
public class Dog{
private boolean isRun = false;
public void jump(){
System.out.println(" jump ...");
}
//run() jump
public void run(){
//
this.isRun = true;
this.jump();
System.out.println(" run ...");
}
}
オブジェクトの1つのメソッドが別のメソッドに依存するシナリオは、このように一般的です.したがってjavaは、オブジェクトの1つのメソッドが別のメソッドまたはプロパティを呼び出すときにthisキーを省略する場合があります.すなわち、上記のrun()は、以下のように変更することができる.
//run() jump
public void run(){
//
isRun = true;
jump();
System.out.println(" run ...");
}
ほとんどの場合、メソッドが同じインスタンスのプロパティにアクセスする場合は、thisキーを指定する必要はありません.ただし、メソッドのローカル変数とプロパティが同じ(名前が同じ)場合、メソッドでプロパティを使用する必要がある場合は、thisキーを使用する必要があります.たとえば、次のようにします.
//run() jump
public void run(){
boolean isRun = fasle;
//
// this isRun , isRun
this.isRun = true;
jump();
System.out.println(" run ...");
}
我々はプログラミング時に規範的に言えば,メソッドの局所変数の名前をクラスの属性名と同じにすることはできない.ここではthisの役割を説明するために書く.
注意:javaの構文規定staticメソッドではthisキーワードは使用できません.そうしないと、コンパイル時に構文エラーが表示されます.