java - 我有一个属性类,我在其中设置并获取英雄属性和英雄类,我在其中设置英雄信息,我希望游戏在我的主程序中处理

标签 java

这是我的类属性,在这里完成设置和获取变量

class Attributes{
    private int heroHp, heroDamage, heroArmor, currentHp, maxHp, rng, 
              playerAction;
    private String heroName;  
    private boolean isAlive, run;

    public void setName(String name){    
      heroName = name;
   }

   public String getName(){
      return heroName;
   }

   public void setHp(int hp){
      heroHp = hp;
      maxHp = heroHp;
   }

   public int getHp(){
      return heroHp;
   }

   public void setDamage(int damage){
      heroDamage = damage;
   }

   public int getDamage(){
      return heroDamage;
   }

   public void setArmor(int armor){
      heroArmor = armor;
   }

   public int getArmor(){
      return heroArmor;
   }

   public void setIsAlive(boolean isAlive){
      this.isAlive = isAlive;
   }

   public boolean getIsAlive(){
      return isAlive;
   }

   public void displayAttributes(){
      System.out.println("====================================");
      System.out.println("Hero name: " + heroName);
      System.out.println("Health: " + heroHp);
      System.out.println("Damage: " + heroDamage);
      System.out.println("Armor: " + heroArmor);
      System.out.println("====================================\n");
   }

这是我的英雄类

class Heroes{
   public static void main(String[] args){
       Attributes slardar = new Attributes();
       Attributes phantomAssassin = new Attributes();
       slardar.setName("Slardar");
       slardar.setHp(115);
       slardar.setDamage(14);
       slardar.setArmor(6);
       slardar.setIsAlive(true);
       phantomAssassin.setName("Phantom Assasin");
       phantomAssassin.setHp(90);
       phantomAssassin.setDamage(17);
       phantomAssassin.setArmor(8);
       phantomAssassin.setIsAlive(true);
   }

}

如何在我的主类中调用或使用那些创建的对象?我试过了,但我真的不知道。我也试过这样做

public class Main{
   public static void main(String[] args){
       Attributes attribs = new Attributes();
       Heroes heroes = new Heroes();
       heroes.slardar.displayAttributes();
   }
}

最佳答案

您有 2 种主要方法,请尝试只使用一种。根据您的主类 heroes.slardar().displayAttributes();说 slardar() 是 Hero 类中的静态方法,那里不存在。 相反,您可以这样编码:

class Heroes {

    public static Attributes getSlardar() {

        Attributes  slardar = new Attributes();

        slardar.setName("Slardar");

        slardar.setHp(115);

        slardar.setDamage(14);

        slardar.setArmor(6);

        slardar.setIsAlive(true);

        return slardar;

    }

}

public class Main {
     public static void main(String[] args) {

        Attributes attribs = new Attributes();

        Heroes heroes = new Heroes();

        heroes.getSlardar().displayAttributes();

    }

}

关于java - 我有一个属性类,我在其中设置并获取英雄属性和英雄类,我在其中设置英雄信息,我希望游戏在我的主程序中处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085886/

相关文章:

Java代码: Missing classpath from webapp but no issues in desktop app

java - 计数器值在多线程中得到休息

java - 如何使用 "Simple Validation API"验证 Netbeans 中的 Java Swing 表单

java - java中这是什么类型的变量声明

javascript - 从请求到响应的 Karate dsl 断言

java - Spring MVC 和 jquery post 请求与 POJO 数组

javascript - 在 spring mvc 中,如何获取 javascript var 作为 java 函数中的参数?

java - setOnClickListener 强制按钮可点击吗?

java - JSF 2 的富文本编辑器

javascript - 为什么我的 AJAX post 请求不起作用?