这篇我来深入了解一下关键字this
我们都知道,this的作用是区分局部变量和成员变量,所以this不可以出现在类方法当中(不需要成员变量)。下面分构造方法和实例方法中再具体写一下。
构造方法
在构造方法中使用this,关键字this可以出现在类的构造方法中,代表使用该构造方法所创建的对象。
public Student(int id,String name, int age)
{
this.id = id;
this.name = name;
this.age = age;
}
使用 this() 访问本类的构造方法,()中可以有参数的。如果有参数,就是调用指定的有参构造。不同的构造器中存在相同代码。为了复用性,可以在参数少的构造器中调用参数多的构造器。
注意事项:
1.this()不能使用在普通方法中 只能写在构造方法中。
2.必须是构造方法中的第一条语句。
代码举例说明:
class Student{
String name;
int age;
int id;
public Student(String name, int age, int id) {
this.name = name;
this.age = age;
this.id = id;
System.out.println("构造器3已调用");
}
public Student(String name, int age) {
this(name,age,0);
System.out.println("构造器2已调用");
}
public Student(String name) {
this(name,0);
System.out.println("构造器1已调用");
}
}
实例方法
当this关键字出现在实例方法中,this就代表正在调用该方法的当前对象。
例如:
void Reset(String name, int age, int id)
{
this.name = name;
this.age = age;
this.id = id;
}
void Reset(int age, int id)
{
this.Reset(null,age,id);
}
public class Main
{
public static void main(String args[])
{
Student student=new Student("Tom",18,0211);
student.Reset(20, 0311);
}
}