在Setter方法“setName()”中, 插入第一行, 名称=这个.名称;获取字符串“nidhi”的值
在第二行,
this.name=名称; 到底发生了什么我无法理解
person.setName("vinoth"); -> 为什么这里不更改名称 并且只考虑“nidhi”。
JAVA代码:
/*
*/ 包 com.testpractice;
类人{
private String name;
private int age;
public Person(String name,int age) {
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
//name = this.name;
this.name=name;
}
public void setAge(int age) {
this.age = age;
}
public void DisplayDetails() {
System.out.println("Name : "+name);
System.out.println("Age : "+age);
}
} 公共类 GetterSetter {
public static void main(String[] args) {
Person person = new Person("nidhi",21);
person.DisplayDetails();
person.setName("vinoth");
person.setName("riya");
person.DisplayDetails();
//System.out.println(person.getClass());
//System.out.println(person.hashCode());
}
}
但是我对第二行仍然没有清楚的理解
**我想知道第二行发生了什么**
首先,在 setter 中用类字段重新分配形式参数被认为是不正确的。
无论如何,如果您重新分配传递给 setter 的参数值,然后将其分配给类字段,则该值将始终是先前分配给类字段的值,这是正常的,在您的情况下,这是在构造函数中完成的.