【发布时间】:2013-05-28 07:11:07
【问题描述】:
规范声明接口旨在定义类可以做什么的约定,并包含一组实现所需的方法。但同时,接口可能有常量。
Java 出于什么目的允许使用它?
接口中常量的存在意义何在?如何在其中使用它们?据我了解,它们只能作为方法的论据。但我看不出有什么意义,因为接口没有说明如何类将实现其方法。
【问题讨论】:
-
它们可以用作一种全局变量
-
好问题...实际上,自从在 Java 5 中引入枚举后,AFAICT 就完全没有意义了。
-
例如当接口实现 setFlags() 方法并且这些标志(及其数值)由接口(由接口的文档)预定义时
-
它们对于您需要子类中的常量非常有用,例如,如果您有一个定义 http 请求的
interface,则为GET和POST等定义常量可能很有用。话虽如此,请务必小心Constant Interface Antipattern。