我不太确定这是如何工作的,但是如果我想给出更多或更少的变量给一个类的对象的选项,这会使用这样的多个构造函数吗?以这种方式使用多个构造函数是否正确?
比方说,我想创建一个选择题问卷,但我不知道有多少回答我的用户想输入,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