5

次のプログラムがあるとします。

class A {
   static int java = 42;
   static int System = -1;

   public static void main(String[] args) {
      java.lang.System.out.println("Foo");
   }
}

これをコンパイルすると、「int は逆参照できません」というエラーが表示されます。理由は明らかですが、このような状況にどのように対処すればよいでしょうか。これは、どのユーザー コードが生成されたコードと絡み合っているかを知ることができないコード生成シナリオに特に関連します。

C# では、"java.lang" の前に "global::" 名前空間指定子を使用するだけですが、Java では何をしますか?

4

1 に答える 1

3

Java での一般的な解決策はありません。私たちがこれと一緒に暮らす方法は、

  1. クラス名をパッケージ/フィールド名と区別する命名規則を尊重し、
  2. コード生成時に static var をそのクラス名で修飾します。
于 2012-05-02T09:51:00.637 に答える