When is it correct to declare variables within an interface in Java?
Possible Duplicate:
What is the use of interface constants?
号
我正在EclipseEE中创建一个计算器程序,想知道它是否正确地在项目中编写接口,以及何时有必要或在Java接口中声明变量?
另外,我想知道是否应该在计算器程序中创建一个抽象类我的计算器程序遵循基本的模型-视图-控制器模式。
- 默认情况下,接口中的变量将是静态常量。
- 当Java 8被释放时,这个问题会有不同的答案。
- @我认为它不会改变接口变量的语义,是吗?
- @在接口默认方法的最后一个状态下,讨论了对非静态接口变量的需求。但这个规范仍然在不断变化,所以它可能不会成为最终版本。
- 决定是否使用接口和抽象类是复杂的,这取决于正在编写的应用程序的设计。你对计算器的描述不足以做出这个决定。
- "感知"可以在Java 8中添加对接口的虚拟扩展,但除了EDCOX1或0字段之外,您将无法拥有任何东西。
接口中的所有变量都是静态常量。虽然您没有明确地编写它,但它们仍然是公开的、静态的和最终的。
在一个接口中
1
| String msg ="Please enter value :" |
与
1
| public final static String msg ="Please enter value :" |
号
通常,所有常量都保存在一个接口中,并在整个项目中使用interface_name.variable name。
- 甚至"公共静态最终字符串":d
- @彼得拉德是的。谢谢你指出
- 以上问题及答复都可以。但是,不建议使用接口声明常量。看看stackoverflow.com/questions/66066/…
- @javausersoma看到链接时,第一个答案是不要使用自己的类或接口来定义常量。他曾经举过这样一个例子:虽然物体是常数,但它的状态不是。为此,您可以通过使成员和私有化来创建不可变对象,而不提供setter方法,而不是创建参数化构造函数。