微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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
>常数
>仅定义嵌套类.

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

原文地址:https://www.jb51.cc/java/127908.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐