本例中 Java 中的 Setter 方法是如何工作的:

问题描述 投票:0回答:1

在Setter方法“setName()”中, 插入第一行, 名称=这个.名称;获取字符串“nidhi”的值

在第二行,

  • this.name=名称; 到底发生了什么我无法理解

  • person.setName("vinoth"); -> 为什么这里不更改名称 并且只考虑“nidhi”。

JAVA代码:

/*

  • @作者Sanganidhi S

*/ 包 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());
    
}

}

  • //name=this.name; 评论这一行给出了 vinoth

但是我对第二行仍然没有清楚的理解

**我想知道第二行发生了什么**

java getter-setter setter instance-variables
1个回答
0
投票

首先,在 setter 中用类字段重新分配形式参数被认为是不正确的。

无论如何,如果您重新分配传递给 setter 的参数值,然后将其分配给类字段,则该值将始终是先前分配给类字段的值,这是正常的,在您的情况下,这是在构造函数中完成的.

© www.soinside.com 2019 - 2024. All rights reserved.