gpt4 book ai didi

java - 接口(interface)真的没有构造函数吗?

转载 作者:行者123 更新时间:2023-11-30 05:50:33 25 4
gpt4 key购买 nike

如果 interface 没有构造函数,那么这段代码如何编译?

    interface I {
List<Integer> LIST = Arrays.asList(1, 2, 3);
}

谁在这里初始化List

最佳答案

Do interfaces really have no constructors?

是的。它们不能被实例化。

Who initializes LIST here?

接口(interface)的隐式静态初始值设定项......在任何东西可以使用LIST对象1之前调用一次。

接口(interface)声明的字段是隐式的publicstaticfinal (JLS 9.3),任何初始化都由接口(interface)的静态初始化 ( JLS 9.3.1/12.4.2 )。


1 - 实际上,这并不完全正确。可以编写一个程序,其中在正确初始化之前使用静态字段。 (详细信息在 JLS 中。)但这需要做一些事情......而你不应该......

关于java - 接口(interface)真的没有构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com