相关疑难解决方法(0)

与java中的静态字段接口以共享"常量"

我正在寻找一些开源Java项目来进入Java,并注意到它们中有很多都有某种"常量"接口.

例如,processing.org有一个名为PConstants.java的接口,大多数其他核心类实现了这个接口.界面充满了静态成员.有这种方法的理由,还是这被认为是不好的做法?为什么不在有意义的地方使用枚举,或者使用静态类?

我发现使用接口允许某种伪"全局变量"很奇怪.

public interface PConstants {

  // LOTS OF static fields...

  static public final int SHINE = 31;

  // emissive (by default kept black)
  static public final int ER = 32;
  static public final int EG = 33;
  static public final int EB = 34;

  // has this vertex been lit yet
  static public final int BEEN_LIT = 35;

  static public final int VERTEX_FIELD_COUNT = 36;


  // renderers known to processing.core

  static final …
Run Code Online (Sandbox Code Playgroud)

java

113
推荐指数
5
解决办法
11万
查看次数

实现接口并具有公共属性的最佳实践(如果全部)是什么?

我实际上要问的是,如果我希望所有实现都具有公共(但不是静态!)属性,是否有比使用抽象类更好的方法。

例如:

public interface MyInterface{

   public int someProperty = 0;

   public void doSomething();

}

public ClassA implements MyInterface{

   @Override 
   public void doSomething(){...}
}

public ClassB implements MyInterface{

   @Override 
   public void doSomething(){...}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法创建这两个实现的实例并初始化接口的 someProperty 成员?

或者我必须使用抽象类而不是接口来为每个实现实例初始化这个成员?

java

1
推荐指数
1
解决办法
67
查看次数

标签 统计

java ×2