java – 为什么界面不能是最终的?

JLS 2.13.1接口修饰符

An interface cannot be final,because the implementation of such a class Could never be completed.

如果我可以在接口I中编写创建静态内部类,可以在其中提供实现,那么为什么会有这样的限制

interface Type {

    // normal
    class Value {
        private Value() {
        }

        public void print() {
            System.out.println("Test");
        }
    }

    public final Value value = new Value();
}

解决方法

顺便说一句:首次定义此限制时,嵌套类不可用,所以问题可能就是为什么没有解除此限制.

最后一堂课不能有任何子课.仅使用接口来定义子类的方法被认为是最佳实践,因此两者是矛盾的.

您可以将接口用于其他事情

>注释
> javadocs
>常数
>仅定义嵌套类.

但这些都是接口的附带目的.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...