Java 内部类和 HashMap

标签 java hashmap inner-classes

所以我正在开发一个 Java 项目,我的一个类使用内部嵌套类(TypesOfQuestions),当我尝试将内部类中的问题添加到 HashMap 时,它不允许我,我不知道为什么。

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 我不知道该怎么做!!

最佳答案

TrueFalse 应该是 static,因为它与 TypesOfQuestions 的外部实例无关;它一个TypesOfQuestions

关于Java 内部类和 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112352/

相关文章:

java - 自动 Java 错误报告系统

java - SVN java 库

java - 如何使用 Map 元素作为 JComboBox 的文本

java - MVC 中通过线程从内部类调用外部类

java - math.min 是如何工作的?

java - 如何在netbeans中编译并运行JCUDA?

java - 多选项卡式 map /切片级别编辑器中的CPU/内存效率(许多HashMaps/ArrayLists)

java - 在 Java 中将 HashMap.toString() 转换回 HashMap

android - 从错误的线程+内部类调用..奇怪的行为

java - 最小化 setOnSeekBarChangeListener 样板