this的作用 一
当方法的参数名和属性名相同的时候,需要用this来做区分,加了this的表示表示属性,没加的表示参数。
public class Student {
private String name ;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
}
如以上代码所示:当方法的参数名和属性名相同的时候,需要用this来做区分,加了this的表示表示属性,没加的表示参数。若以上构造方法写成下面的样子时是错误的
public Student(String name,int age){
name=name;
age=age;
}
因为Java 中的就近原则,系统会认为以上两个name和age都是指的参数,所以不会讲参数name和参数age的值赋给属性name和属性age。
this的作用二
this关键字可以调用当前类的构造方法
public class Student {
private String name ;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public Student(){
this.("张三",18)
}
}
当我们在这之后再写以下的代码时
Student S =new Student();
对象S的属性 name不再为NULL age不再为0
name为张三 age为18
this代表谁
我们在初学Java的时候,Java方法中写了this之后却不明白,this代表谁。this代表调用方法的对象。