我不太確定這是如何工作的,但是如果我想給出更多或更少的變量給一個類的對象的選項,這會使用這樣的多個構造函數嗎?以這種方式使用多個構造函數是否正確?
比方說,我想創建一個選擇題問卷,但我不知道有多少回答我的用戶想輸入,2,3,4,5,6也許?所以對於那個:
public class Quiz {
private int counter;
private String question;
private String answer1;
private String answer2;
private String answer3;
private String answer4;
private String answer5;
private String answer6;
private String rightAnswer;
public Quiz(int counter,String question, String answer1, String answer2, String rightAnswer){
super();
this.counter = counter;
this.question = question;
this.answer1 = answer1;
this.answer2 = answer2;
this.rightAnswer = rightAnswer;
}
public Quiz(int counter, String question, String answer1, String answer2, String answer3, String rightAnswer) {
super();
this.counter = counter;
this.question = question;
this.answer1 = answer1;
this.answer2 = answer2;
this.answer3 = answer3;
this.rightAnswer = rightAnswer;
}
public Quiz(int counter, String question, String answer1, String answer2, String answer3, String answer4,
String rightAnswer) {
super();
this.counter = counter;
this.question = question;
this.answer1 = answer1;
this.answer2 = answer2;
this.answer3 = answer3;
this.answer4 = answer4;
this.rightAnswer = rightAnswer;
}
//...more options
也許我可以只做1構造函數與某種枚舉或開關? 在一天結束的時候,嘗試這種方法,因爲某些原因把這個變成一個HashMap,然後將其序列化到一個文件後不起作用,其中與1個構造它的工作原理,但在那裏不寫的一切。我對這個問題有些困惑,也許這跟我的toString覆蓋有關,但無論如何,只要告訴我這個問題,這樣我就可以減少一個令人困惑的問題。
你應該查找「構造函數重載」 – QBrute
如果你是要去回用價值,你可以從另一個使用此(參數)調用一個構造函數; –
我可能會得到這個錯誤,但不是所有這種多重參數混淆,爲什麼不把所有的答案都放在數組列表中呢?我覺得你的邏輯和方法很奇怪。 – Marko