在上课时如何从实例获取属性?

时间:2018-07-13 02:33:14

标签: java class object instance

例如,在名为“ Wizard”的类中有两个方法:

public class Wizard
{
    public int getAttack()
    {
        return attack;
    }

    public void getHitBy(Object var_of_attacker)
    {
        int attackPower = var_of_attacker.getAttack() - defense;

        if (attackPower > 0)
        {
            health -= attackPower;
            System.out.println(name + " took " + attackPower + " damage!");
        } else {
            System.out.println(name + " managed to completely block the attack!");
        }

        if (health <= 0)
        {
            alive = false;
            System.out.println("Oh, no! \n" + name + " died!");
        }
    }
}

如果我决定创建该类的两个实例,并且想让其中一个实例攻击另一个实例,那么如何从实例中获取Attack属性?

1 个答案:

答案 0 :(得分:0)

您必须将另一个对象作为参数传递。然后,您可以使用点(.)运算符访问参数的方法,而不必使用this来使用参数的名称。

考虑一个程序可以有数百个对象;编译器如何知道要查看哪个另一个对象?

也许我不明白您的问题,因为您已经在传递对象了?