Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串(名称)添加到单独的实例_Java - Fatal编程技术网

Java 将字符串(名称)添加到单独的实例

Java 将字符串(名称)添加到单独的实例,java,Java,因此,我有一个名为Person的类,希望创建3个实例来保存名称 Person p1 = new Person(); Person p2 = new Person(); Person p3 = new Person(); 我想在每个实例中添加至少2个名称,但我想知道我的方法是否正确 p1. addName("John"); p1. addName("James"); p2. addName("Mike"); p2. addName("Laila"); p3. add

因此,我有一个名为
Person
的类,希望创建3个实例来保存名称

Person p1 = new Person();    
Person p2 = new Person();     
Person p3 = new Person();  
我想在每个实例中添加至少2个名称,但我想知道我的方法是否正确

p1. addName("John"); 
p1. addName("James");

p2. addName("Mike"); 
p2. addName("Laila");

p3. addName("Steven");   
p3. addName("Ryan");
通过这种方式编码,每个实例的名称是否总是覆盖第一个名称


或者我需要将其编码为
p1。地址名称(“约翰”+“詹姆斯”)

除了我上面的注释之外,这里是实现方法,让我进一步解释,您的类可以有一个名为name的变量,在这种情况下,您需要有一个方法将名称设置为您称为addName的名称,我刚才称之为setName,这是命名约定,因为它设置了实例变量的名称,在这种情况下,您必须将全名作为一个字符串传递,包括名字和姓氏,否则它们将相互覆盖。第二个选项是必须实例化变量,一个用于名字,一个用于姓氏,并且每个变量有两个方法进行设置。如果您需要分别存储每个名字和姓氏,您可以这样做(我认为这更好,但这取决于具体情况)

备选案文1:

public class Person {
    private String name;
    public void setName(String name) {
        this.name = name;
    }
} 



这完全取决于您如何实现
Person
。您的
Person
类的代码在哪里?如果您的addName方法填充数组,这没关系,如果只分配字符串,它将覆盖,您将丢失以前的分配。为什么不“John James”?:-)您的
人员
班级代码在哪里?无论如何,假设在
Person
类中有一个名为
name
的变量和一个名为
addName(String name){this.name=name;}
的方法,那么在这种情况下,必须在一个方法调用中传递全名,否则它们会相互覆盖,但是如果您需要为每个变量存储一个名字和姓氏,那么最好有两个变量,每个变量一个,两个方法一个来设置每个变量的值
Person p1 = new Person();
p1.setName("Jhon James");
public class Person {
    private String firstName;
    private String lastName;
    public void setFirstName(String firstName) {
        this.firstName= firstName;
    }
    public void setLastName(String lastName) {
        this.lastName= lastName;
    }
} 
Person p1 = new Person();
p1.setFirstName("Jhon");
p1.setLastName("James");