美好的一天,
我是JAVA的新手,学习这门语言,我学到的东西似乎是一种很棒的语言。我的问题与以下内容有关:
假设我有这样一个类:
public class Person{
private String firstName;
private String lastName;
private int age;
private String entireName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEntireName() {
return entireName;
}
public void setEntireName(String entireName) {
this.entireName = entireName;
}
public static void Main(String args[]){
Person person = new Person();
person.setFirstName("Jhon");
person.setLastName("Adams");
person.setAge(20);
//Atention this line
person.setEntireName(person.getFirstName()+person.getLastName());
}
}
该语言允许我这样做:person.setEntireName(person.getFirstName()+person.getLastName());
并且它工作正常但是我想知道如何最好地执行此操作,它在对象级别的行为以及性能的高低。
谢谢..
答案 0 :(得分:4)
你做的是完全有效的,但不是很合乎逻辑。为什么不放弃setEntireName()
,因为它只是结合了两个现有字段?
public String getEntireName() {
return firstName + " " + lastname;
}
答案 1 :(得分:0)
通常,更容易消除entireName
属性及其setter,并使用getter执行连接,如下所示:
public String getEntireName() {
return firstName + " " + lastName;
}
每次更改entireName
或firstName
时,这比更新lastName
更容易维护。
答案 2 :(得分:0)
这是有效的。没有性能差异,因为JIT编译器在需要时优化此代码(只需用字段访问替换方法)。