我正在尝试创建一个类。让我们称之为问卷调查。在问卷中,我想实例化一些名为问题的类。 Questionnaire 的构造函数接受单词的字符串数组,对于每个单词,应该有一个 Question 类来接受它作为其构造函数的参数。换句话说,对于作为参数传递的每个字符串,我想创建一个问题。
我需要能够将问卷放在一个更大的类中,并且仍然调用问题类的方法。传递给问卷的数组大小也各不相同。当我不知道会有多少个类,以及如何从外部类引用它们时,我不知道如何将多个类放在另一个类中。如果数组的长度是固定的,我只是将问题创建为问题 1、问题 2、问题 3……但由于情况并非如此,我不再确定了。不过,我确实知道我想创建的问题类数量有上限。
编辑:我正在为此使用 J2ME CDLC 1.1 MIDP 2.0(它是手机应用程序的一部分),所以我的解决方案受到它提供的限制。
最佳答案
您不希望每个问题都有一个单独的变量 - 使用 List<Question>
有一个变量引用一组问题:
public class Questionnaire
{
private final List<Question> questions;
public Questionnaire(String[] words)
{
questions = new ArrayList<Question>();
for (String word : words)
{
questions.add(new Question(word));
}
}
// Use questions here
}
编辑:如果您处于没有泛型的环境中,您可以使用非泛型形式,如下所示:
private final List questions;
public Questionnaire(String[] words)
{
questions = new ArrayList();
for (String word : words)
{
questions.add(new Question(word));
}
}
或者如果你没有 List/ArrayList 则像这样:
private final Vector questions;
public Questionnaire(String[] words)
{
questions = new Vector();
for (String word : words)
{
questions.add(new Question(word));
}
}
无论哪种情况,您都需要对每次访问进行强制转换。或者,您可以使用数组:
private final Question[] questions;
public Questionnaire(String[] words)
{
questions = new Question[words.length];
for (int i = 0; i < words.length; i++)
{
questions[i] = new Question(word);
}
}
关于java - 在一个类中创建多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255809/