您的位置:首页 > 编程语言 > Java开发

java接口的变量为什么是public static final 的

2014-08-06 22:39 316 查看
首先说明为什么是static的,我是这么理解的:

1. 类是单继承多接口,如果接口的变量不是静态的,当多个接口中有相同的变量时,计算机怎么知道这个变量到底是哪个接口的,特别是当这些接口的变量有默认值的时候,这将如何分辨?

2. 接口是不能实例化的,如果接口中有非静态变量,我们就得必须构造实现类的实例,才能使用接口中的变量。

根据以上两点,接口中的变量必须是static的。

接下来,说明为什么必须是final的:

现在,我们知道接口的变量必须是static的,也就是在运行过程中,内存里只保留一份数据,那么如果有其他的方法修改了这个接口的静态变量,将会破坏接口的一致性。导致方法之间互相影响。所以,接口的变量必须是final的。

以上仅仅是我个人理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: