我有3个类, Main , Enemy 和 UserCharacter 。 敌人包含敌人的属性和可能采取的行动。 UserCharacter 包含用户的属性和可能的操作。 Main 管理逻辑并从 Enemy 和 UserCharacter 类创建对象。
我正在尝试从 UserCharacter
类中的方法使用 Enemy 类中包含的 setter 方法public class UserCharacter {
private String userName = "Adventurer";
private int userAttack = 5;
private int userLife = 100;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserLife() {
return userLife;
}
public void setUserLife(int userLife) {
this.userLife = userLife;
}
public void Attack() {
Enemy.setEnemyLife(10);
}
}
是否可以在不将方法设置为静态的情况下做到这一点? (除了创建一个类的对象(因为它是在Main中完成的,这不是一个选择)之外) 是否建议使用静态设置器方法? (我想我必须为设置器创建一个虚拟静态变量)
谢谢
答案 0 :(得分:2)
您正在问XY Problem,您在哪里以错误的方式查看问题。问题不是您要在不创建实例的情况下调用设置器,而是要在 正确 实例上调用设置器,即>
在此设置下,我将创建一个Game或World类,以处理敌人与角色之间的交互和冲突。当角色攻击敌人时,它会告诉世界等级它正在这样做,以及哪个敌人和World对象确定要从角色和敌人中增加或减去的点。