我有一个类,它有一个名为 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
,它不是不能通过实例受害者访问吗? 最佳答案
隐私不是每个实例 - 它是每个类。
该类可以访问所有实例的私有(private)字段。
例如,方法 equals( Object o )
可以将 o(如果合适)转换为相同的类型,并将其私有(private)成员与调用 equals() 的对象进行比较。
关于java - 访问实例对象的私有(private)字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16510997/