提问者:小点点

运行此重写代码时无输出


我是方法重写的新手,我不确定我在这里做错了什么。 Eclipse不会告诉我有任何错误,所以当我运行这个ItemTest时,我没有得到任何输出。 只是空白控制台。

项。java


public class Item {
    public String name;
    public double price;
    public int quantity;
    
    public Item(String i, double p, int q) {
        this.name = i;
        this.price = p;
        this.quantity = q;
    }
    public double totalPrice() {
        return price * quantity;
    }

}

saleItem.java

public class SaleItem extends Item{
    public double sale;
    public SaleItem(String i, double p, int q, double s) {
        super(i, p, q);
        this.sale = s;
    }
    public double totalPrice() {
        return quantity * price * sale;
    }


}

useditem.java

public class UsedItem extends Item{
   public int old;
   public UsedItem(String i, double p, int q, int o) {
       super(i, p, q);
       this.old = o;
   }
   public double totalPrice() {
       return quantity * price * (1 - old / 100);
   }


}

最后是ItemTest.java。

public class ItemTest {

  public static void main(String[] args) {
      Item i1 = new Item("a", 2.1, 3);
      SaleItem i2 = new SaleItem("q", 3.1, 3, 5.5);
      UsedItem i3 = new UsedItem("e", 4.1, 3, 5);
      i1.totalPrice();
      i2.totalPrice();
      i3.totalPrice();
      
      
  }

}

共2个答案

匿名用户

你什么都没印。 请按以下步骤操作:

public class ItemTest {

public static void main(String[] args) {
    Item i1 = new Item("a", 2.1, 3);
    SaleItem i2 = new SaleItem("q", 3.1, 3, 5.5);
    UsedItem i3 = new UsedItem("e", 4.1, 3, 5);
    System.out.println(i1.totalPrice());
    System.out.println(i2.totalPrice());
    System.out.println(i3.totalPrice());   
}
}

匿名用户

你不能调用任何东西来导致输出。 将你的主线改为:

System.out.println(i1.totalPrice());