0

このようなインターフェイスを定義したときの問題は次のとおりです。

package mypackage;
public interface Ainterface {
  int VAL = 6;
}

そして、次のようなクラスを定義しました:

public class Aclass implements Ainterface {
  private String[] str = new String[VAL];
  public static void main(String[] args) { ... }
}

プログラムをコンパイルすると、次のエラー メッセージが表示されます: シンボル "VAL" が見つかりません。

記号:VAL

ポジション:Aクラス

4

4 に答える 4

1

インターフェイスで定義されているすべての変数はデフォルトpublicで , staticandであるため、静的な方法で VAL を参照する必要がありfinalます。これはうまくいくはずです:

  private String[] str = new String[Ainterface.VAL];
于 2013-08-07T03:35:35.663 に答える
0

これは同じパッケージに存在する場合は正常に機能しますが、そのファイルを別のパッケージに入れたい場合は、どちらかを行うことができます。

オプション1:

Import mypackage;

Aclass.javaファイル内

オプション 2:
またはthen ステートメントVALで変更Ainterface.VAL

private String[] str = new String[Ainterface.VAL];
于 2013-08-07T03:40:19.390 に答える