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;
}
}
}