有问题的班级是这个。如您所见,这非常简单。只是为了了解匿名内部类的工作原理。在这种情况下,我收到4条错误消息,提示找不到WaterLevel和ChlorineLevel符号。您能知道这有什么问题吗?
public class Pool {
public WaterLevel level() {
return new WaterLevel() {
private String level = "empty";
public String litresToFull() { return "3000"; }
};
}
public ChlorineLevel chlorine(final int amt){
return new ChlorineLevel() {
private int level = amt;
int addChlorine() { level += amt; return level; }
};
}
}
最佳答案
罗希特·贾恩(Rohit Jain)说
是的,但是那些匿名内部类实际上分别是WaterLevel和ChlorineLevel的子类。您必须拥有这些课程。
这使我意识到,我必须为我使用的每个匿名内部类定义一个接口。只是想发布此内容,以便很明显地解决了该问题。
关于java - Java中的匿名内部类不起作用。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22293573/