0

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

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

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


   }
  }
4

1 回答 1

0

首先,您需要声明priceheightand的产品2

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

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

像这样的东西:

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

为了获取对象的属性,请使用您的get方法。如果属性(数据字段)没有get方法,请使用类似这样的内容获取属性Object.property

并像 RC 所说的那样,继续阅读static。你没有正确使用它

于 2013-10-13T19:06:22.467 回答