有关接口当中默认修饰符的问题 为什么接口中的变量强制为public static final?public我能理解,static final又是为什么呢?同样,接口中的内部类也强制为public static,为什么?java interface 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static表示成员是接口的,而不属于接口实例的成员。在内存中只有一个地址。final表示一旦初始化了,便不允许在运行时修改,以保障数据的安全性。 我的意思是为什么强制这么多修饰符,为什么不可以只让变量只有一个修饰符,比如public。public interface Example{public int number;/*这里无法通过编译,java语言机制强制number必须为public static final且初始化才能编译通过,为什么要有这种强制?*/public void print();} 个人觉得这篇文章值得看看,或许能对理解java为什么这样有所帮助。http://developer.51cto.com/art/200906/130093.htm 因为接口不能实例化 不new对象你怎么访问 成员变量呢? 只能是static 一般来说 接口里的成员肯定是不会变的 所以加final public是要把这个变量设置成最大的权限以供其他类可以访问~ 其实我觉得这个没什么好纠结的。Java本来就是强类型的语言。用sun的话来说就是“你喜欢你就用,不喜欢你就不用。”程序员上下级间做代码交流基本都靠接口了。你可以试想一下如果你做项目经理了,你给下面写接口。结果你手底下的人实现以后各种乱改,你就明白了。 谁和你说INTERFACE 中的变量需要强制为STATIC FINAL? 被你一说 我都糊涂了。 特地去ECLIPSE里试了下public interface AA { public int a =2;}可以通过啊。 ls的当然可以通过了因为编译器帮你加上static了 。你想 如果不是static的你这个变量定义的还有用吗?接口本身是不能实例化的... 因为接口不能被实例化,如果接口中的变量不是public static final,变量就不能被访问。PS:接口中定义的变量一般都是当常量使用 问应届毕业生的一个关于继承的问题 获取插件源码问题 求指点 感激不尽! 菜鸟求教 帮忙看一段Java生成彩色验证码的程序把 请问java怎么调用C的可执行程序 请教问题!!谢谢! 模态对话框和非模态对话框有什么不同? 关于message提示框的问题!! 大家探讨一下JAVA打印!!!!!!!!!来者有分! 监听不起作用,神马情况? 调用JFileChooser的showOpenDialog再调用showSaveDialog就没反应了 log4j按大小产生日志文件问题
final表示一旦初始化了,便不允许在运行时修改,以保障数据的安全性。
public int number;/*这里无法通过编译,java语言机制强制number必须为public static final且初始化才能编译通过,为什么要有这种强制?*/
public void print();
}
http://developer.51cto.com/art/200906/130093.htm
一般来说 接口里的成员肯定是不会变的 所以加final
public是要把这个变量设置成最大的权限以供其他类可以访问~
其实我觉得这个没什么好纠结的。
Java本来就是强类型的语言。
用sun的话来说就是“你喜欢你就用,不喜欢你就不用。”程序员上下级间做代码交流基本都靠接口了。
你可以试想一下如果你做项目经理了,你给下面写接口。
结果你手底下的人实现以后各种乱改,你就明白了。
public int a =2;
}可以通过啊。
PS:接口中定义的变量一般都是当常量使用