- this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this 的用法在 Java 中大体可以分为3种:
1.普通的直接引用
这种就不用讲了,this 相当于是指向当前对象本身。
class Man {
String name = 'Z_D_殿峰';
public void show() {
System.out.println(name); // Z_D_殿峰
System.out.println(this.name); // Z_D_殿峰
}
}
2.局部变量与成员变量重名,用 this 来区分, this指向实例:
class Student {
char gender = '男';
public void test() {
char gender = '女';
// 可以重复命名但是打印只会按照就近原则
System.out.println("性别:" + gender); // => 性别:女
// 局部变量与成员变量重名,用 this 来区分:
System.out.println("性别:" + this.gender); // =>性别:男
}
}
3.引用构造函数,this指向当前类的实例。
class Student {
String name;
int age = 12;
char gender = '男';
public Student () { // 先定义一个无参的构造方法
System.out.println("我是一个无参的构造方法!");
}
// 我们来看this和构造函数的联系
public Student (String name, char gender, int age) {
// name = name; // 报警告,不利于阅读
this.name = name;
this.gender = gender;
this.age = age;
}
public void show() {
System.out.println("姓名:" + name + ",年龄:" + age + ",性别:" + gender);
}
}
public class ThisAndStatic {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student("Z_D_殿峰", '男', 18);
s2.show();
}
}
// 我是一个无参的构造方法!
// 姓名:Z_D_殿峰,年龄:18,性别:男
总结 this不难,用得多了就会得心应手,简单点儿像它就是一个指针,你在那个实例里用就是指向那个实例本身。
上一章 | 目录 | 下一章 |
---|