【发布时间】:2017-12-20 22:43:28
【问题描述】:
我是 OOPS 编程的初学者。我在一本书中研究了访问修饰符的概念并被困在一个地方:
代码如下(我不关心代码的语法,因为怀疑是概念性的):
public class Soldier{
private int health;
public int getHealth(){
return health;
}
public void setHealth(int newHealth){
health = newHealth;
}
}
class Hospital{
private void healSoldier(Soldier soldierToHeal){
int health = soldierToHeal.getHealth();
health = health + 10;
soldierToHeal.setHealth(health);
}
public static void main(){
Soldier mySoldier = new Soldier();
mySoldier.setHealth(100);
Hospital militaryHospital = new Hospital();
mySoldier.setHealth(10); //Soldier wounded
militaryHospital.healSoldier(mySoldier);//Soldier's health increased by 10
}
}
我对@987654322@ 方法有疑问。由于此方法是私有的,因此根据我对private 访问修饰符的理解,它只能在Hospital 类中访问。但是我们在main中使用相同的方法来治疗士兵。类的对象是否可以从main 访问其私有方法?
提前致谢!!
【问题讨论】:
-
您的
main方法属于哪个类?Soldier和Hospital是该类的内部类吗? -
因为语法错误很难确定,但是医院是嵌套在士兵里面的吗?
-
哦.. 直到现在我还没有明白.. 我明白了.. 额外的
}造成了所有的混乱
标签: java oop access-modifiers