我被要求创建一个方法,根据街道号(int)和门牌号(int)将学生添加到数组中。 这是我所谈论的一个例子。
Student a = new Student("Abigail", 1, 5);
我只允许使用学生的街道号和门牌号,这只是构造函数参数的一部分。有没有办法将对象(学生)与信息的一部分联系起来?
这是我的构造函数:
public Student(String n, int sN, int hN){
name = n;
streetNum = sN;
houseNum = hN;
}
答案 0 :(得分:2)
您可以使用较少的参数创建另一个构造函数,如下所示:
public class Student {
public static final String DEFAULT_NAME = "Cookie Monster";
public static final String DEFAULT_STREET_NUMBER = 46; //Sesame Street Number?
private String name;
private int streetNum;
private int houseNum;
public Student(String n, int sN, int hN){
name = n;
streetNum = sN;
houseNum = hN;
}
public Student(int sN, int hN){
this(DEFAULT_NAME, sN, hN);
}
public Student(int hN){
this(DEFAULT_STREET_NUMBER, hN);
}
}
答案 1 :(得分:1)
我认为有两种方式:
1)创建一个这样的构造函数:
public Student(int sN, int hN){
streetNum = sN;
houseNum = hN;
}
并使用它:
Student a = new Student(1, 5);
2)或者如果你不想要一个构造函数,那么使用like:
Student a = new Student("", 1, 5);
答案 2 :(得分:0)
您可以在Construction中使用null。例如new Student(null, 5, 1)
通常这是可能的,但您可以使用此方法覆盖默认值,例如名称默认为private String name = "Peter"