如何将类中的变量值分配给在该类中创建的对象?

时间:2015-12-08 15:39:07

标签: java variables

我有一个食物类形式,我正在创造一些食物对象,为了这个问题,我将只包括一个食物对象。基本上,我已经在我的食物类中声明了两个变量,healthGain和wasteGain(整数),我希望从这个类创建的每个新食物实例都具有每个变量的唯一值。例如,我的一种食物将是干草,其健康值为+1,浪费值为4.我该怎么做?

public class Food {

   int healthGain;
   int wasteGain;

   Food hay = new Food():

   //hay healthGain = +1
   //hay wasteGain = 4
}

3 个答案:

答案 0 :(得分:1)

public class Food{

    int healthGain;
    int wasteGain;

    public static void main(String [] a){

        Food hay = new Food();
        hay.healthGain = 1;
        hay.wasteGain = 4;
    }

}

答案 1 :(得分:1)

 public class Food {

   private int healthGain;
   private int wasteGain;
   public Food(int healthGain,int wasteGain){
       this.healthGain=healthGain;
       this.wasteGrain=wasteGain;
   }
   public int getHealhGain(){
   return healthGain;
   }
   public int getWasteGain(){
   return wasteGain;
   }
  // Provide getter and setter

}
public class FoodTest{
    public static void main(String args[]){
     Food badfood=new Food(12,-100);
     Food goodFood=new Food(1000,1);
     System.out.println("The healthGain and wasteGain on badFood is:"+badfood.getHealthGain()+" "+badfood.getWasteGain()+" ,But the healthGain and wastegain on goodFood is: "+goodFood.getHealthGain()+" "+goodFood.getWasteGain());

  }
}

说明:badfood和goodFood是实例,每个实例都有不同的值。

答案 2 :(得分:0)

如果您希望它们始终具有相同的值,那么您可以在构造函数中声明它:

       Food(){
           healthGain = 1;
           wasteGain =4;
      }

现在无论何时创建食物实例,它都会自动将这些变量设置为这些值。如果您想要将它们设置为不同的值,请创建一个构造函数

        Food(int h, int w){
                  healthGain =h;
                wasteGain = w;
         }

然后在您的主要课程中,您可以使用以下方法创建它:

       Food hay = new Food(1, 4); 

并将这些值分配给相应的成员。

您还可以创建getter和setter,以便在需要时更改值,而不仅仅是在实例化对象时。