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

时间:2019-04-03 13:28:10

标签: 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. addName("Steven");   
p3. addName("Ryan");

通过这种方式编码,每个实例的名称是否总是会覆盖名字?

还是我需要将其编码为p1. addName("John" + "James");

1 个答案:

答案 0 :(得分:0)

除了上面我的评论之外,还有其他方法,让我解释更多,您的类可以具有一个名为name的变量,在这种情况下,您需要一种方法将名称设置为您称为addName的方法,我只是将其命名为setName,这是命名约定,因为它设置了实例变量的名称,在这种情况下,您必须将全名作为一个字符串传递,包括名字和姓氏,否则它们将相互覆盖。第二种选择是必须实例化变量一个用于名字,一个用于姓氏,并具有两种设置方法。如果您需要分别存储名字和姓氏,则可以这样做(我认为更好,但这要视情况而定)

选项1:

from sqlalchemy.schema import DDL

def execute_sql_file(engine, path):
    try:
        with open(path) as file:
            stmt = file.read()

        # Not strictly DDL, but a series of DO commands that execute DDL
        ddl_stmt = DDL(stmt)
        engine.execute(ddl_stmt)

    except ProgrammingError:
        raise MyCustomError

    except FileNotFoundError:
        raise MyCustomError

public class Person {
    private String name;
    public void setName(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;
    }
}