Просто для примера я помещаю в String как переменную-член. Но изначально существует сложная структура.private variable constraints java
public class ClassA {
private final String test ;
public ClassA(String str) {
test = str;
}
@Override public int hashCode() {
return test.hashCode();
}
@Override public boolean equals(Object obj) {
return obj instanceof ClassA && test.equals(((ClassA)obj).test);
}
}
public class ClassB {
public static void main(String args[])
{
ClassA obj1 = new ClassA("abc");
ClassA obj2 = new ClassA("def");
obj1.equals(obj2);
obj2.test;//not valid
}
}
Из того, что я знаю, что доступ к частной переменной test
из obj1
есть только в методах ClassA и эти методы должны быть вызваны из контекста obj1
.
Когда я вызывал obj1.equals(obj2)
, тестовую переменную obj2 можно получить из контекста obj1.
Итак, можем ли мы получить доступ к приватным переменным любого объекта типа ClassA из методов ClassA.
Если они являются частными для вас (Class), вы можете получить доступ к ним. –
Возможный дубликат [Private Member Access Java] (http://stackoverflow.com/questions/676930/private-member-access-java) – Sikorski
«Итак, мы можем получить доступ к приватным переменным любого объекта типа ClassA из методов ClassA «. Да. –