Как компилятор не жалуется, когда я пишу следующий код?Как эта доступная переменная доступна?
public class MyClass
{
private int count;
public MyClass(int x){
this.count=x;
}
public void testPrivate(MyClass o){
System.out.println(o.count);
}
}
Даже если это экземпляр одного и того же класса, в котором testPrivate
написано, она не должна давать ошибку компиляции в System.out.println(o.count)
? В конце концов, я пытаюсь получить доступ к частной переменной напрямую.
Код даже работает нормально.
Класс MyClass знает переменную count, поэтому никаких проблем – SaintLike
Это частный класс, а не экземпляр. Java не пытается остановить вашу левую руку от удара правой рукой. ;) –
Создайте с помощью методов хэша Eclipse или IDEA hashCode и equals, они всегда выглядят таким образом – Maksym