接口在JAVA中只能有静态变量吗?

时间:2014-10-20 17:47:00

标签: java

我是Java新手。我听说Interface只能有静态变量,这是正确的吗?

3 个答案:

答案 0 :(得分:0)

这是对的。原因是Java接口无法自己实例化。您必须实例化实现该接口的类的实例。因此,必须在静态上下文中分配变量的值,因为在这种情况下不存在实例。

它们还需要声明为final,以确保分配给接口变量的值是一个真正的常量,在运行时不能被其他程序代码更改。

答案 1 :(得分:0)

是的,因为接口无法实例化,所以实例状态没有意义。

Google快速搜索找到了相同的答案。

http://www.coderanch.com/t/245071/java-programmer-SCJP/certification/final-member-variables-interfaces

答案 2 :(得分:0)

如评论中所述

public static final variables

1. Interface variables are static because Java interfaces cannot be instantiated in their own right; the value of the variable must be assigned in a static context in which no instance exists. 

2. The final modifier ensures the value assigned to the interface variable is a true constant that cannot be re-assigned by program code.