Groovy特性要求我在所有其他接口上实现时,都实现它的所有超类方法

问题描述 投票:2回答:1

我有一个接口A(在Java中)

public interface A {
    File getFile();
    void delete();
    void delete0();
}

并且接口B扩展了A(在Java中)

public interface B extends A {
    default void delete() {
        this.getFile().delete();
    }
}

还有一个接口C,它也扩展了A(在Java中)

public interface C extends A {
    default void delete0() {
        this.getFile().delete();
    }
}

而且我有一个实现D的特征A(在常规中)

public trait D implements A {
    private File file;
    public File getFile() {
        return this.file;
    }
}

最后,我有一个实现EBC的类D(以常规方式)

public class E implements B, C, D {
}

[编译时,编译器抱怨类E未实现方法delete0()

java groovy interface traits
1个回答
0
投票

您的代码可用于Groovy 3.0.1,我认为您使用的是带有错误的早期版本。

© www.soinside.com 2019 - 2024. All rights reserved.