this表示当前对象,可以调用类的属性、方法和构造器。它在方法内部使用,即这个方法所属对象的引用;它在构造器内部使用,表示该构造器正在初始化的对象。
什么时候使用this关键字呢?
当在方法内需要用到调用该方法的对象时,就用this。
格式:
this.<变量名>
this.<方法名[参数列表]>
注意点:
1.当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量时类成员.
2.在任意方法内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的阅读性.
示例代码:
package com.v512.main;
class Person { // 定义Person类
private String name;
private int age;
// 构造器调用对象本身,给对象本身的属性进行赋值
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 方法调用对象本身,调用对象的方法speak方法
public void getInfo() {
System.out.println("姓名:" + name);
this.speak();
}
// 方法调用对象本身,调用对象的age属性
public void speak() {
System.out.println("年龄:" + this.age);
}
}
3.this可以作为一个类中,构造器相互调用的特殊格式;使用this()必须放在构造器的首行;使用this调用本类中其他的构造器,保证至少有一个构造器是不用this的。
)
代码:
class Person { // 定义Person类
private String name;
private int age;
public Person() { // 无参构造
System.out.println("新对象实例化");
}
public Person(String name) {
this(); // 调用本类中的无参构造方法
this.name = name;
}
public Person(String name, int age) {
this(name); // 调用有一个参数的构造方法
this.age = age;
}
public String getInfo() {
return "姓名:" + name + ",年龄:" + age;
}
}