猿问

我有一个属性类,我在其中设置和获取英雄属性和英雄类,我在其中设置英雄信息

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


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();

   }

}


神不在的星期二
浏览 132回答 1
1回答

GCT1015

您有两种主要方法,请尝试仅使用一种。根据您的主类 heros.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();    }}
随时随地看视频慕课网APP

相关分类

Java
我要回答