Итак, я работаю над Java-проектом, и один из моих классов использует внутренние вложенные классы (TypesOfQuestions), и когда я пытаюсь добавить вопрос из внутреннего класса в HashMap, он не позвольте мне, и я не уверен, почему.Java Inner Classes and HashMaps
public abstract class TypesOfQuestions {
Map<String, Double> scores = new TreeMap<String, Double>();
String text;
double points;
public TypesOfQuestions(String text, double points) {
}
public static class TrueFalse extends TypesOfQuestions {
public TrueFalse(String text, double points, boolean answer) {
super(text, points);
}
}
И другой класс экзамен, который
public class Exam {
private String x;
private Map<Integer, Questions> q;
public HoldExam(String x) {
q = new HashMap<Integer, Questions>();
this.x = x;
}
public void addTrueFalseQuestion(int questionNumber, String text,
double points, boolean answer){
q.put(questionNumber, new TrueFalse (text, points, answer));
}
}
Я пробовал кучу разных вещей, но я получаю ошибки, для этого я получил
No enclosing instance of type TypesOfQuestions is accessible.
Must qualify the allocation with an enclosing instance of type TypesOfQuestions
(e.g. x.new A() where x is an instance of TypesOfQuestions).
Anndddd Я понятия не имею, что делать !!
О нет! подождите, поэтому я изменил его на статический, как вы сказали, и он исправил ошибку, пока я не попытался нажать «Сохранить», а затем ошибка вернулась. Такая же ошибка тоже. – CCC
Где находится здесь раздел 'Вопросы'? У нас нет определения для 'Вопросов'. –
Извините, вопросы должны быть типамиOfQuestions, я просто не вводил их правильно. Кроме того, eclipse, кажется, принимает его, а затем не принимает его ... иногда он иногда вызывает ошибку, а затем не в другое время ... но я не меняю ни одного кода. – CCC