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");