【问题标题】:When is it correct to declare variables within an interface in Java? [duplicate]什么时候在 Java 的接口中声明变量是正确的? [复制]
【发布时间】:2013-01-08 11:09:10
【问题描述】:

可能重复:
What is the use of interface constants?

我正在 Eclipse EE 中创建一个计算器程序,并想知道它是否会 在项目中编写接口是正确的,以及何时有必要或 适合在 Java 的接口中声明变量?

另外,我想知道是否应该在我的计算器程序中创建一个抽象类 我的计算器程序遵循基本的模型-视图-控制器模式。

【问题讨论】:

  • 接口中的变量默认为静态常量。
  • 这个问题在Java 8发布后会有不同的答案。
  • @Perception 我不认为它会改变接口变量的语义,对吧?
  • @assylias - 在接口默认方法的最后状态,讨论了对非静态接口变量的需求。但该规范仍在不断变化中,因此可能无法进入最终版本。
  • 是否使用接口和抽象类的决定很复杂,并且取决于正在编写的应用程序的设计。您对计算器的描述不足以做出该决定。

标签: java interface


【解决方案1】:

接口中的所有变量都是静态常量。尽管您没有明确地编写它,但它们仍然是公共的、静态的和最终的。

这在一个界面中

String msg = "Please enter value : "

相同
public final static String msg = "Please enter value : "

通常所有常量都保存在一个接口中,并通过 interface_name.variable name 在整个项目中使用。

【讨论】:

  • 甚至“公共静态最终字符串”:D
  • @PeterRader 是的。谢谢指出
  • 上述问题和回复都很好。但是,不推荐使用接口来声明常量。看看stackoverflow.com/questions/66066/…
  • @javausersoma 在链接上看到,第一个答案是说不要使用它的“OWN”类或接口来定义常量。他曾经举过什么例子,尽管对象是恒定的,但它的状态却不是。为此,您可以通过使成员和私有而不提供 setter 方法而不是创建参数化构造函数来创建不可变对象。
猜你喜欢
  • 2013-09-30
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-28
  • 2021-12-16
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多