只是通过get / set方法,我的输出有问题。它不显示对象的First / Last名称,而是显示null / null。
任何人都可以提供任何见解,我不熟悉get / set方法。
代码
public class Person {
private String firstName;
private String lastName;
public Person (String a, String b){
a = firstName;
b = lastName;
}
public String getfirstName(){
return firstName;
}
public void setfirstName(){
this.firstName = firstName;
}
public String getlastName(){
return lastName;
}
public void setlastName(){
this.lastName = lastName;
}
public String toString() {
String s = "First name:" + firstName + "Last name:" + lastName;
return s;
}
}
这是我的类,只是为了创建对象并运行toString方法
public class PersonDriver {
public static void main(String[]args){
Person p1 = new Person ("Thomas", "Brown");
System.out.print(p1.toString());
}
}
答案 0 :(得分:2)
您需要将参数分配给实例变量,而不是相反。您目前正在做的是重新分配传递给构造函数的a
和b
,而您需要将a
和b
的值分配给{{1该类的{}和firstName
个字段。
lastname
答案 1 :(得分:1)
您在构造函数中反转了变量
您需要更改以下代码
public Person (String a, String b){
a = firstName;
b = lastName;
}
到
public Person (String a, String b){
firstName = a;
lastName = b;
}
答案 2 :(得分:1)
主要设置者必须是
public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
答案 3 :(得分:0)
你的setter应该接受一个参数 - 要设置的值。你的构造函数应该为类属性的参数赋值,而不是反过来。
答案 4 :(得分:0)
我认为构造函数必须像
public Person (String a, String b){
firstName = a;
lastName = b;
}
答案 5 :(得分:0)
您需要交换变量。您可以为对象赋值参数。
public Person (String a, String b){
firstName= a;
lastName= b;
}
你的set方法也没用参数:
public void setlastName(String parameter){
this.lastName = parameter;
}
答案 6 :(得分:0)
你确定你的方法不应该更符合这个吗?
public class Person {
private String firstName;
private String lastName;
public Person (String a, String b){
firstName=a;
lastName=b;
}
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 String toString() {
String s = "First name:" + firstName + "Last name:" + lastName;
return s;
}
}
您需要将setter方法传递给您想要设置变量的值。除此之外,与其他提到的一样,您在构造函数中交换了变量名称。 :)