java接口的变量为什么是public static final 的
2014-08-06 22:39
316 查看
首先说明为什么是static的,我是这么理解的:
1. 类是单继承多接口,如果接口的变量不是静态的,当多个接口中有相同的变量时,计算机怎么知道这个变量到底是哪个接口的,特别是当这些接口的变量有默认值的时候,这将如何分辨?
2. 接口是不能实例化的,如果接口中有非静态变量,我们就得必须构造实现类的实例,才能使用接口中的变量。
根据以上两点,接口中的变量必须是static的。
接下来,说明为什么必须是final的:
现在,我们知道接口的变量必须是static的,也就是在运行过程中,内存里只保留一份数据,那么如果有其他的方法修改了这个接口的静态变量,将会破坏接口的一致性。导致方法之间互相影响。所以,接口的变量必须是final的。
以上仅仅是我个人理解。
1. 类是单继承多接口,如果接口的变量不是静态的,当多个接口中有相同的变量时,计算机怎么知道这个变量到底是哪个接口的,特别是当这些接口的变量有默认值的时候,这将如何分辨?
2. 接口是不能实例化的,如果接口中有非静态变量,我们就得必须构造实现类的实例,才能使用接口中的变量。
根据以上两点,接口中的变量必须是static的。
接下来,说明为什么必须是final的:
现在,我们知道接口的变量必须是static的,也就是在运行过程中,内存里只保留一份数据,那么如果有其他的方法修改了这个接口的静态变量,将会破坏接口的一致性。导致方法之间互相影响。所以,接口的变量必须是final的。
以上仅仅是我个人理解。
相关文章推荐
- Java接口中的成员变量为什么必须声明为public static final?
- Java接口中的成员变量为什么必须声明为public static final?
- Java接口中的成员变量为什么必须声明为public static final?
- Java接口中的成员变量为什么必须是public static final?
- Java接口中的成员变量为什么必须是public static final?
- Java接口中的成员变量为什么必须是public static final?
- Java接口中的成员变量为什么必须是public static final?
- Java接口中的成员变量为什么必须是public static final?
- 为什么接口里的成员变量必须是public static final的?
- 为什么接口中的成员变量非得是public static final的呢?
- 为什么接口中的成员变量非得是public static final?
- java interface 中的变量为什么只能是 public static final
- 解析面试题-接口中的成员变量为什么要定义成public static final
- 为什么接口中的成员变量非得是public static final的呢?
- 为什么接口要规定成员变量必须是public static final的呢?
- 为什么接口中的成员变量非得是public static final?
- 为什么接口要规定成员变量必须是public static final的呢?(转)
- JAVA interface 声明的interface variable (接口变量,也可称成员变量)是public static final
- 为什么要把接口中的成员变量定义为public static final
- 【Java关键字-Interface】为什么Interface中的变量只能是 public static final