3
4

4 回答 4

7
于 2012-10-30T10:27:56.760 回答
1

那么我的建议是为常量创建一个类。不是接口,如果接口没有方法,那么它就没有达到它的目的。

在接口中放置常量在 Java 早期是一种流行的技术,但现在许多人认为这是对接口的一种反感,因为接口应该处理对象提供的服务,而不是对象的数据。同样,类使用的常量通常是实现细节,但将它们放在接口中会将它们提升为类的公共 API。

看看这里

于 2012-10-30T10:28:50.757 回答
0

您应该避免在接口中使用此类常量。您可以采用 Sean Patrick Floyd 提出的解决方案。或者使用枚举类型作为常量。

public enum Constants {
 NAME("Name");

 private final String constant; 

 private Constats(String constat) {
   this.constant = constant;
 }

 public String constant(){ 
   return this.constat; 
 }

}

当您的代码需要它们时,您应该使用枚举类型。然后你将在你的代码中有顺序。

于 2012-10-30T10:33:21.540 回答
0

-首先一口气回答你的问题......是的,它可能,事实上,如果你使用

public int x=5; 或者

int x=5,

这将始终被解释为 public static final int x=5;

-但这不是正确的方法

-你可以更好地使用EnumClass with Private Constructor 处理这个。

例如:

具有静态字段的类:

   public class Test{


       public final String NAME = "Name";

       private Test(){}


      }

}
于 2012-10-30T10:45:08.083 回答