如果所有参数都是私有的,如何在构造函数中设置数据?

gywdnpxw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(309)

例如,我必须编写一个代码

public class Student {
  private int id;
  private String name; 

public Student (int id, String name) {
  this.id=id;
  this.name=name;
 }
public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}
现在,在main类中,我必须从user
我应该如何在构造函数中设置值??这样地?

String name = input.nextLine(); 
 int id = input.nextInt();

 Student student = new Student (id, name);

这个方法的问题是,我们不能保持属性私有,因为它们现在是局部变量

我创建了一个没有参数的构造函数,并使用该对象获取值并在完全参数化的构造函数中进行设置。

Student st = new Student();
 student.setName(input.nextLine());
 student.setID(input.nextInt());

Student student = new Student (st.getId, st.getName);

我不知道我是否能解释我想要什么,但如果你明白了,一定要告诉我

qlvxas9a

qlvxas9a1#

我会用这种方法

Student st = new Student();
st.setName(input.nextLine());
st.setID(input.nextInt());

但两者都很好。在第二个示例中,实际上不需要创建第二个student对象。只需使用你预先创建的一个
要稍后访问名称和id,可以执行以下操作

String name = st.getName();
int id = st.getID();

(编辑-假设您确实创建了无参数构造函数)

相关问题