1

次のテストコードがあります。

public class Main {

public static void main(String[] args) {
    new Main();
}

public Main() {
    int А = new Main2().А;
    System.out.println(А);
}

public class Main2 {
    public int A = 0;
}

}

実行すると、次のエラーが発生します。

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
А cannot be resolved or is not a field

at Main.<init>(Main.java:10)
at Main.main(Main.java:6)

外部クラスから Main2.A() にアクセスできないのはなぜですか?

4

2 に答える 2

4

中のAキャラクター

int А = new Main2().А;

は UTF-8 文字ではなく、Main2クラスの変数名で使用されているものと同じではありません。A内部クラスから をコピーして貼り付け、それを使用します。コンパイルされます。

于 2013-09-07T23:57:37.373 に答える
-1
public class Main {
    public static void main(String[] args) {
        new Main();
    }

    public Main() {
        Main2 m = new Main2();
        System.out.println(Integer.toString(m.A));
    }

    class Main2 {
        public int A;
        public Main2() {
            A = 0;
        }
    }
}
于 2013-09-08T00:06:55.120 に答える