Java如何使用另一个类的实例访问方法

乔希

我正在尝试写一个小游戏来帮助我提高Java技能。我有一个名为“ Zombie”和“ Player”的类,并按如下方式创建了这些类的实例:

Zombie zombie = new Zombie(50, "Infected Zombie", "Slash");
Player defaultPlayer = new Player(100, "Default Player");

接下来,我要求用户输入播放器的攻击方式:

System.out.println("Which attack style would you like to use?");
        defaultPlayer.printAttackStyles();
        int option = scanner.nextInt();
        scanner.nextLine();
        switch(option) {
            case 0:
                System.out.println("You backed out of the fight.");
                break;
            case 1:
                System.out.println("Punching...");
                defaultPlayer.attack(1);
                break;
            case 2:
                System.out.println("Kicking...");
                defaultPlayer.attack(2);
                break;
            case 3:
                System.out.println("Headbutting...");
                defaultPlayer.attack(3);
                break;
            case 4:
                System.out.println("Tackling...");
                defaultPlayer.attack(4);
                break;
            default:
                System.out.println("Not a valid attack style");
        }

在我的“玩家”类中,我有一种称为Attack的方法,该方法会根据攻击方式造成一定程度的损害:

public int attack(int attackStyle) {
        int damage = 0;

        switch(attackStyle) {
            case 0:
                damage = 0;
                break;
            case 1:
                damage = random.nextInt(20) + 1;
                zombie.removeHealth(damage);
                break;
            case 2:
                damage = random.nextInt(25) + 1;
                zombie.removeHealth(damage);
                break;
            case 3:
                damage = random.nextInt(30) + 1;
                zombie.removeHealth(damage);
                this.health -= random.nextInt(5) + 1;
                break;
            case 4:
                damage = random.nextInt(45) + 1;
                zombie.removeHealth(damage);
                this.health -= random.nextInt(10) + 1;
                break;
        }

        return damage;
    }

在每种攻击方式下,我都有一行代码指出

zombie.removeHealth(damage);

由于该实例仅在Main类中声明,因此如何访问该实例才能访问zombie类中的方法removeHealth()?抱歉,这个问题很简单,但我无法解决。

悉达多·贾恩(Siddhartha Jain)

在方法攻击中,您需要再添加1个参数,该参数可用于将Zombie类的实例传递给攻击方法。将您的方法签名设置为public int Attack(int AttackStyle,Zombie zombie)

现在在切换块中,当您调用defaultPlayer.attack时,传递您之前传递的int值,并像这样传递Zombie类的实例

defaultPlayer.attack(您的int值,僵尸)

这会将僵尸实例传递给攻击方法,然后您可以在该僵尸实例中调用removeHealth(damage)方法。

希望这能解决您的查询。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用另一个类实例访问一个类方法?

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

如何从另一个类访问实例化?

来自分类Dev

无法访问Java中另一个类中方法的返回实例

来自分类Dev

类方法如何访问相同类的另一个实例的私有成员?

来自分类Dev

如何在另一个类中访问此实例方法

来自分类Dev

当实例来自另一个类时,如何访问超类的实例?

来自分类Dev

如何访问另一个类的方法?

来自分类Dev

如何在Java中使用一个方法在一个类中创建另一个实例?

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

如何将一个类的实例方法与另一个实例化?

来自分类Dev

Java:如何在另一个类中使用在一个类中实例化的对象?

来自分类Dev

访问从其实例化另一个类的类的方法

来自分类Dev

从另一个类访问变量的实例

来自分类Dev

如何访问在属于另一个Java类的方法中声明的变量?

来自分类Dev

如何访问属于我传递给另一个类的类的实例的属性?

来自分类Dev

如何从另一个类的一个类访问方法?

来自分类Dev

如何只允许一个类访问另一个类的方法?

来自分类Dev

如何访问同一实例中另一个类中的函数?

来自分类Dev

使用另一个对象的方法实例化一个抽象类?

来自分类Dev

使用另一个对象的方法实例化一个抽象类?

来自分类Dev

从静态方法访问另一个类的实例变量

来自分类Dev

访问另一个类的类方法/变量

来自分类Dev

如何在python中使用另一个实例的类名创建实例?

来自分类常见问题

如何在另一个Java类的Java方法中使用变量值?

来自分类Dev

从另一个类Ruby调用实例方法

来自分类Dev

如何在另一个生成字节码类中使用匿名类实例

来自分类Dev

如何使用ArrayList从Java中的另一个类调用方法?

来自分类Dev

如何通过创建另一个类的对象的类访问方法?

Related 相关文章

  1. 1

    使用另一个类实例访问一个类方法?

  2. 2

    如何通过在Javascript另一个类的实例访问另一个类中的方法

  3. 3

    如何从另一个类访问实例化?

  4. 4

    无法访问Java中另一个类中方法的返回实例

  5. 5

    类方法如何访问相同类的另一个实例的私有成员?

  6. 6

    如何在另一个类中访问此实例方法

  7. 7

    当实例来自另一个类时,如何访问超类的实例?

  8. 8

    如何访问另一个类的方法?

  9. 9

    如何在Java中使用一个方法在一个类中创建另一个实例?

  10. 10

    如何将一个类的实例方法与另一个实例化?

  11. 11

    如何将一个类的实例方法与另一个实例化?

  12. 12

    Java:如何在另一个类中使用在一个类中实例化的对象?

  13. 13

    访问从其实例化另一个类的类的方法

  14. 14

    从另一个类访问变量的实例

  15. 15

    如何访问在属于另一个Java类的方法中声明的变量?

  16. 16

    如何访问属于我传递给另一个类的类的实例的属性?

  17. 17

    如何从另一个类的一个类访问方法?

  18. 18

    如何只允许一个类访问另一个类的方法?

  19. 19

    如何访问同一实例中另一个类中的函数?

  20. 20

    使用另一个对象的方法实例化一个抽象类?

  21. 21

    使用另一个对象的方法实例化一个抽象类?

  22. 22

    从静态方法访问另一个类的实例变量

  23. 23

    访问另一个类的类方法/变量

  24. 24

    如何在python中使用另一个实例的类名创建实例?

  25. 25

    如何在另一个Java类的Java方法中使用变量值?

  26. 26

    从另一个类Ruby调用实例方法

  27. 27

    如何在另一个生成字节码类中使用匿名类实例

  28. 28

    如何使用ArrayList从Java中的另一个类调用方法?

  29. 29

    如何通过创建另一个类的对象的类访问方法?

热门标签

归档