Java 如何在没有静态数据的情况下访问不同类中的字段?(爪哇)

Java 如何在没有静态数据的情况下访问不同类中的字段?(爪哇),java,arrays,static,field,Java,Arrays,Static,Field,我正在制作一个战斗模拟。我有一个攻击类和一个战士类 public class Attack { private String name; private int points; public Attack(String name, int points) { this.name= name; this.points =points; } //getters public String getName() {

我正在制作一个战斗模拟。我有一个攻击类和一个战士类


public class Attack {

    private String name;
    private int points;

    public Attack(String name, int points) {
        this.name= name;
        this.points =points;

    }

    //getters
    public String getName() {
        return name;
    }

    public int getPoints() {
        return points;
    }


    public String toString() {
        return ("Name of the attack = " + name + " damage = " + points) ;

    }

}
由于具有不同攻击的战士,我不能使用static,因为它将覆盖以前的攻击。Monster类的代码片段:

        public Attack[] getAttacks() {
        return attacks;
    }
public void attack(String attackname, Warrior otherWarrior){
// How would I access the attack from the class?

}
我怎样才能进入攻击区域?
谢谢。

正如您可以访问
这个
怪物
类的实例方法一样,您也可以访问
战士
类的实例方法:

public class Monster {
    Attack[] attacks;
    // ...

    public Attack[] getAttacks(){
        return attacks;
    }

    public void attack(String attackname, Warrior otherWarrior){
        Attack[] monsterAttacks = this.getAttacks();

        // Assuming Warrior has the method `getAttacks()`
        Attack[] warriorAttacks = otherWarrior.getAttacks();

        // ...
    }
}

public class Warrior {
    Attack[] attacks;
    // ...

    public Attack[] getAttacks() {
        return attacks;
    }
}

我怎样才能进入攻击区域?你有你的领域的
getters
,不是吗?用它来获得你的价值
attack.getName()
您也可以发布您对战士类的定义吗?没有它,你的问题有点令人困惑。