[英]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.