Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的匿名内部类不工作。为什么?_Java_Anonymous Inner Class_Jcreator - Fatal编程技术网

Java中的匿名内部类不工作。为什么?

Java中的匿名内部类不工作。为什么?,java,anonymous-inner-class,jcreator,Java,Anonymous Inner Class,Jcreator,这门课有问题。正如你所看到的,这很简单。只是为了了解匿名内部类的工作原理。在这种情况下,我得到4个错误,表示找不到水位和氯水位符号。你能看出这有什么问题吗 public class Pool { public WaterLevel level() { return new WaterLevel() { private String level = "empty"; public String litresToFull() {

这门课有问题。正如你所看到的,这很简单。只是为了了解匿名内部类的工作原理。在这种情况下,我得到4个错误,表示找不到水位和氯水位符号。你能看出这有什么问题吗

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; }
        };
    }
}
罗希特·贾因说


是的,但这些匿名内部类实际上分别是WaterLevel和ChlorenLevel的子类。你必须上那些课


这让我意识到我必须为我使用的每个匿名内部类定义一个接口。我只是想发布这篇文章,这样很明显这已经解决了。

那么,这些类型是在哪里定义的呢
WaterLevel
chlorenelevel
?它们是匿名内部类。没错,但这些匿名内部类实际上分别是
WaterLevel
chlorenelevel
的子类。你必须有这些类。我在看一个例子,没有意识到在同一个目录中有另一个文件定义了一个接口。这很有道理,谢谢。子类或接口实现选择您的答案作为所选答案,只是为了将问题设置为正确答案:)