//防御方法通过输入参数接收攻击力,如果攻击力小于防御力,生命值不受影响,反之伤害值=攻击力-防御力
public void recovery(int attack){
recovery(15) 是你自己本身定义的方法,用来判断攻击力和防御能力的大小从而去改变他们的生命值。
比如就你那参数 15来说。 攻击是15 防御才10 所以对象会受到15-10=5的伤害
从代码来看,这属于回合制游戏。
小龟在攻击的同时遭受到15点的攻击力(有可能来自被攻击对象,或者被攻击对象有类似“伤害反弹”的技能),所以调用防御方法recovery(15);进行防御,受到5点伤害。
这里的15是传入的一个固定int值。说明小龟受到15点的恒定攻击。
个人感觉你们老师应该是为了让你们多理解下对象吧。这个问题其实不是在于类的继承问题,而是在于把优先级分清楚了
其次,在表达式的拆分过程中应该把各变量,常量的位置记录下来,运算符的位置和优先级(这个很重要)记录下来。也就是在你的各个类中加一个记录位置的成员变量。
最后根据优先级从高到低,从左到右的输出。比如你的例子中:+ × / 和后面括号里的在同一优先级。那么按照从左到右的顺序输出,也可以存到二叉树结构里去。对于括号里的你也可以看做是一个表达式,直接作为一个子树处理
当然这只是我看了之后想到一些,估计写的时候还是会有一些问题。说的不好,请不要见怪。
15是指对方的攻击力,recovery(15)是判断在受到15的攻击时,小龟是否受伤及当前血量。小龟防御力只有10,会受到伤害
mon.recovery(15)调用了你定义的recovery方法,传入15这个值
public void recovery(int attack){