谁调用,谁就是this
当形参名字等于成员变量名,就会导致调用的时候成员变量名会输出默认值
Student(错误的写法)
public class Student {
private String name;
private int age;
public void setName(String name) {
name = name;
}
public void setAge(int age) {
age = age;
}
}
正确的Studnets写法
public class Student {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
Test
public static void main(String[] args) {
// 创建Student对象
Student stu1 = new Student();
// 访问成员变量
// 隐藏属性后的方式
stu1.setName("冰冰");
stu1.setAge(-18);
System.out.println(stu1.getName()+","+stu1.getAge());// 冰冰,-1
Student stu2 = new Student();
stu2.setName("空空");
}
Java中的this内存图



