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

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

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...