创建和传递对象java

时间:2015-02-12 17:47:46

标签: java object

尝试了解如何使用java正确访问和传递程序中的其他对象。

在我的小程序中,我们看到以下内容:

我有一个战斗课,需要知道我的英雄的当前HP,这是我的英雄级别的一个实例。

以前,如果另一个班级需要了解英雄的HP,我只需使用静态变量来存储HP。我被告知这是不正确的静态使用。下面,我创建了一种战斗方法,用于明确使用英雄进入战斗。因此,前进,任何时候我需要战斗来访问与我的英雄对象相关的任何东西,我可以。

这有意义吗?我在正确的道路上吗?

public class Combat
{
   public void passHero(Hero hero1)
   {

   }
}

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

      Hero hero1 = new Hero();

      //passing hero to Combat
      combat.passHero(hero1);
    }
}

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。如果要在对象上设置属性(在本例中为Combat的Hero属性),该对象(Combat)通常会提供用于设置和检索其属性的公共方法。你可能想在战斗类上创建一个英雄二传手,或者将英雄传递给一个构造函数

public class Combat
{
   private Hero hero;

   //setter
   public void setHero(Hero hero1)
   {
      this.hero = hero1;
   }

   //constructor
   public Combat(Hero hero1)
   {
      this.hero = hero1;
   }
}

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

      Hero hero1 = new Hero();

      //passing hero to Combat
      Combat combat = new Combat(hero1);
      //or 
      combat.setHero(hero1);
    }
}