有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java当子类构造函数的超类具有较少的参数时,如何向其添加更多参数?

我试着四处寻找这个问题的答案,但我不是 1.问得不对 2.思维不清

基本上,我有一个任务是模拟杂货店。我有一个Item类,我需要用于继承Item类特征的子类。(遗产)

以下是我到目前为止为这门课所做的一切,以及它对我的期望

    public class Baguette extends Item {

 int price;
 String name;

public Baguette(String name, int price){
    this.name = name;
    this.price = price;

}

 @Override
 public String getName(){
   return name;

   }
 public int getCost(){
     return price;
     }

}

下面是这个法式面包类的子类

    public class FlavoredBaguette extends Baguette {
String name;
int price;
String flavor;
int costFlav;

public FlavoredBaguette(String name, int price, String flavor, int costFlav) 
{
    this.name = name; 
    this.price = price; 
    this.flavor = flavor;
    this.costFlav = costFlav;
}
}

在这样做的时候,我得到了这个错误 Baguette类中的构造函数Baguette不能应用于给定类型 必需:字符串,int 发现:没有争论 原因:实际参数列表和正式参数列表长度不同

我知道这与争论的数量不同有关,但我对此一无所知。谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    对于扩展,不需要声明超类的字段。同样在构造函数中,只需使用参数name和price调用super()

    public class FlavoredBaguette extends Baguette {
        String flavor;
        int costFlav;
    
    public FlavoredBaguette(String name, int price, String flavor, int costFlav){
        super(name, price);
        this.flavor = flavor;
        this.costFlav = costFlav;
    }
    

    编辑:看起来程序员比我快了:c