java this關鍵字的作用:
1、消除屬性的歧義,給類中屬性設置值的時候,傳值的參數要和類中屬性區分開來。
public class Student{
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
}
2、引用類中的其他構造方法
public class Student{
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
// 無參構造,this引用有參構造
// 如果是有參中調用無參構造時候this必須放在第一個
public Student() {
this(18, "巴扎黑");
}
}
3、作爲參數傳遞
public class ThisTest {
public ThisTest() {
print(this);
}
private void print(ThisTest thisTest) {
System.out.println("print " +thisTest);
}
public static void main(String[] args) {
ThisTest test = new ThisTest();
System.out.println("main " + test);
}
}
4、在內部類中訪問外部類對象
public class ThisInnerTest {
private String name;
class InnerClass {
public InnerClass() {
ThisInnerTest thisInnerTest = ThisInnerTest.this;
String outerName = thisInnerTest.name;
}
}
}