java - Java 中的匿名内部类不起作用。为什么?

标签 java anonymous-inner-class jcreator

有问题的类是这样的。正如您所看到的,这非常简单。只是为了了解匿名内部类的工作原理。在这种情况下,我收到 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; }
        };
    }
}

最佳答案

罗希特·贾恩说

True, but those anonymous inner classes are actually subclass of WaterLevel and ChlorineLevel respectively. You've to have those classes.

这让我意识到我必须为我正在使用的每个匿名内部类定义一个接口(interface)。只是想发布此内容,以便明显地解决此问题。

关于java - Java 中的匿名内部类不起作用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22293573/

相关文章:

java - 来自匿名内部类的外部类的关键字

java - 数组中的所有其他值都打印为 Null

java - 包含相同值的 HashMap

java - 运行 SoapUI 后,无法启动 selenium

java - Java 中的分页

java - 在 Java 中实现自己的 List、Stack、Queue 或其他数据结构的原因

java - 匿名类中的最终变量

java - 获取内部类类型名称

java - 如何编译一个包含多个文件的java项目?

java - 交替符号+循环