java - 为什么将一个变量赋值给另一个变量?

标签 java variable-assignment

我不明白为什么要这样做:

public class Example {
    private String name;
    private String surname;

    Example(String firstName, String secondName) {
        name = firstName;
        surname = secondName;
    }
    // whatever other code goes here
}

我不明白为什么需要设置 name = firstNamesurname = secondaryName。为什么我不能直接设置 namesurname

最佳答案

这些不是同一类型的变量:

  • firstNamesecondName 是方法参数。一旦方法结束,这些变量就会超出范围
  • 另一方面,
  • namesurname 是类中的字段。只要实例存在,它们就保持“附加”到该类的实例。

以下是其含义的说明:

String a = "Hello";
String b = "World";
// For the duration of the constructor, a becomes firstName,
// and b becomes secondName
Example e = new Example(a, b);
// Once the constructor exists, firstName and secondName disappear.
// Resetting a and b after the call is no longer relevant
a = "Quick brown fox jumps";
b = "over the lazy dog";
System.out.println(e.getName()+" "+e.getSurname());

ab 的值已更改,但存储在 Example 中的值仍设置为您传递给构造函数的值。

关于java - 为什么将一个变量赋值给另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167426/

相关文章:

java - 错误: column is of type bit but expression is of type boolean

c - 传递 C 字符串并将其与本地指针一起使用

r - 在 R 中,如何使用索引修改/重新分配列表元素?

string - 奇怪的行为,同时变量与函数的输入和输出相同

java - 通过java一键取消订阅电子邮件服务

java - 在 Java 应用程序中嵌入可执行文件

c - 将用户输入值分配给分配的内存

c++ 变量赋值,这是一种正常的方式吗..?

java - 给定一个场景,找到所属的 JFXPanel

java - 正则表达式将一个字符串分成三部分