在Java开发中,当成员变量与局部变量重名时,需要使用到this关键字分辨成员变量与局部变量,Java中的this关键字语法比较灵活,其作用有以下3种。
(1)使用this关键字调用本类中的属性。
(2)使用this关键字调用成员变量。
(3)使用this关键字调用本类的构造方法。
使用this关键字调用本类中的属性
在Java中,this关键字用于引用当前对象的属性。当类中的属性与方法的局部变量同名时,可以使用this关键字来区分它们。以下是一个示例:
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
在这个例子中,我们有一个Person类,它有一个名为name的属性。在构造方法和setName方法中,我们使用this关键字来引用当前对象的name属性。这样可以避免局部变量和属性之间的命名冲突。
使用this关键字调用成员变量
在Java中,成员变量是定义在类中的变量,而局部变量是定义在方法中的变量。当方法中的局部变量与成员变量同名时,可以使用this关键字来引用成员变量。以下是一个示例:
public class Teacher {
private String name;
private int age;
public Teacher() {
this("Unknown", 0);
}
public Teacher(String name) {
this(name, 0);
}
public Teacher(String name, int age) {
this.name = name;
this.age = age;
}
}
在这个例子中,我们有一个Teacher类,它有两个构造方法。在无参构造方法和单参数构造方法中,我们使用this关键字来调用双参数构造方法。这样可以减少代码重复,提高代码复用性。