У меня есть класс, который имеет одно поле с именем orbits
(он имеет тот же тип, что мой класс Body
и имеет private
модификатор):Доступ частного поля экземпляра объекта
public class Body {
// I defined it as private field
private Body orbits = null;
public Body getOrbits(){
return orbits;
}
public void setOrbits(Body orbits){
this.orbits = orbits;
}
public void capture(Body victim){
//Why 'victim' can access 'orbits' ?
victim.orbits = this;
}
}
В классе я определен метод с именем capture(Body victim)
, который имеет один параметр с типом Body
. Мне интересно в методе, почему я могу напрямую получить доступ к полю private
orbits
примера victim
? Я имею в виду, что поле private
, разве это не доступно через жертву экземпляра?
Это потому, что он обрабатывается в * том же * классе. Будь то разные классы, он не будет доступен. – skuntsel