创建应用程序时遇到问题,该应用程序实例化每种类型的对象并显示详细信息

时间:2013-10-13 18:35:19

标签: java

首先,我是新手,不知道这是否违反规则,但我正在寻找一些关于我的家庭作业的帮助。我不想要一个完整的答案,只是朝着正确的方向迈出了一步。问题如下: Mick's Wicks制作各种尺寸的蜡烛。为名为Candle的业务创建一个类,其中包含颜色,高度和价格的数据字段。为所有三个字段创建get方法。为颜色和高度创建设置方法,但不为价格创建。相反,当设置高度时,将价格确定为每英寸2美元。创建一个名为ScentedCandle的子类,其中包含一个名为scent的附加数据字段以及用于获取和设置它的方法。在子类中,覆盖父级的setHeight()方法,将ScentedCandle对象的价格设置为每英寸3美元。编写一个实例化每种类型对象的应用程序并显示详细信息。将文件保存为Candle.java,ScentedCandle.java和DemoCandles.java。

现在我相信我已经正确地完成了这些类,但我遇到的问题是“编写一个实例化每种类型的对象并显示详细信息的应用程序”。我只是不明白。这是我的代码:

 public class Candle {

 public static int color;                       //Declaring Variables
 public static int height;
 public static int price;


 Candle(int startColor, int startHeight, int startPrice) {    //Constructor
    color = startColor;
    height = startHeight;
    price = startPrice;

 }


 public static int getColor()  //Public methods
 {
     return color;
 }
 public void setColor(int color)
 {
     Candle.color = color;
 }
 public static int getHeight()              
 {
     return height;
 }
 public void setHeight(int height)
 {
     Candle.height = height;
 }
 public static int getPrice()
 {
     return price;
 }
 public void setPrice(int price)
 {
     Candle.price = 2 * height;
   }
  }



  public class ScentedCandle extends Candle {                 //Creating subclass to superclass Candle

  public static int scent;                                       //Delcare Variable

  public ScentedCandle(int startScent,int startColor, int startHeight,int startPrice)      {      //Constructor
    super(startColor, startHeight, startPrice);      //Calling from superclass Candle
       scent = startScent;
  }   



    public static int getScent()                                   //Public methods
  {
      return scent;
  }
  public void setScent(int scent)
  {
      ScentedCandle.scent = scent;
  }
  public static int getPrice()
  {
      return price;
  }
   @Override
  public void setPrice(int price)
  {
      Candle.price = 3 * height;
  }
  }


  public class DemoCandles {     //Here is where I'm lost and have no clue


public static void main(String[] args) {
    Candle getColor;                       //Declaring Variables
    Candle getHeight;
    Candle getPrice;
    ScentedCandle getScent;

    getColor = new Candle();
    getHeight = new Candle();
    getPrice = new Candle();
    getScent = new ScentedCandle();


   }
  }

1 个答案:

答案 0 :(得分:0)

首先,您需要将price声明为height2的产品。

"Write an application that instantiates an object 
                           of each type and displays the details."

这基本上意味着使用main方法创建一个类来运行您的程序。 在该main方法中,您需要实例化Candle类。 实例化意味着创建Candle类的对象实例。

这样的事情:

Object object = new Object(someInt, someInt, someInt);  // or which ever constructor you decide to you

要获取对象的属性,请使用get方法。如果属性(数据字段)没有get方法,请使用类似Object.property

的属性获取属性

就像RC说的那样,请阅读static。你没有正确使用它