最近、私はJavaでpriavteフィールドにアクセスする予期しない動作を観察しました。行動を示しており、以下の例を考えてみましょう:他のオブジェクトのプライベートフィールドにアクセスできるのはなぜですか?
public class A {
private int i; <-- private field!
public A(int i) {
this.i = i;
}
public void foo(A a) {
System.out.println(this.i); // 1. Accessing the own private field: good
System.out.println(a.i); // 2. Accessing private field of another object!
}
public static void main(String[] args) {
(new A(5)).foo(new A(2));
}
}
私はfoo
方法(第2ケース)内のクラスA
の別のオブジェクトのプライベートフィールドにアクセスさせていただいておりますのはなぜ?
HTML、XMLなどのコード、入出力、構造化文書のコード書式を使用してください。これを行うには、サンプルを選択して、メッセージの投稿/編集フォームの上にある「{}」ボタンをクリックします。 –