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()
您也可以发布您对战士类的定义吗?没有它,你的问题有点令人困惑。