[英]How do I use only portion of parameters of constructors? (Java)
我被要求创建一种方法,以给定学生的街道编号(int)和门牌号(int)将学生添加到数组中。 这是我正在谈论的示例。
Student a = new Student("Abigail", 1, 5);
我只允许使用学生的门牌号和门牌号,这只是构造函数参数的一部分。 有什么方法可以仅从部分信息中关联对象(学生)吗?
这是我的构造函数:
public Student(String n, int sN, int hN){
name = n;
streetNum = sN;
houseNum = hN;
}
您可以使用较少的参数创建另一个构造函数,如下所示:
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)创建一个像这样的构造函数:
public Student(int sN, int hN){
streetNum = sN;
houseNum = hN;
}
并像这样使用它:
Student a = new Student(1, 5);
2)或者,如果您不想使用构造函数,则使用如下代码:
Student a = new Student("", 1, 5);
您可以在Construction中使用null。 例如new Student(null, 5, 1)
通常可以使用new Student(null, 5, 1)
但是您可以使用此方法覆盖默认值,例如当名称默认为private String name = "Peter"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.