为什么界面变量默认为静态和最终?为什么Java中默认接口变量是静态的和最终的?
3 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
由于接口没有直接对象,访问它们的唯一方法是使用类/接口,因此如果接口变量存在,它应该是静态的,否则它根本不可访问外部世界。既然它是静态的,它只能保存一个值,任何实现它的类都可以改变它,因此它会变得一团糟。
因此,如果有一个接口变量,它将是隐式静态的,最终的,显然是公共的!
jeck猫
TA贡献1909条经验 获得超7个赞
public:用于跨所有类的可访问性,就像界面中存在的方法一样
static:由于接口不能有对象,interfaceName.variableName可用于引用它或直接引用实现它的类中的variableName。
final:使它们成为常数。如果2个类实现相同的接口并且您同时给它们两个更改值的权限,则var的当前值将发生冲突,这就是为什么只允许一次初始化。
所有这些修饰符都是隐含的接口,你真的不需要指定它们中的任何一个。
添加回答
举报
0/150
提交
取消