有没有办法在继承中设置构造函数

时间:2012-11-01 17:30:04

标签: java bluej

所以我想知道是否有办法为bluej上的构造函数设置某个东西 比如将boolean设置为true而不询问其参数

public SaleItem(String description,
                double weight,
                boolean canBePickedUp,
                double cost)
{

    // initialise instance variables
    super(description,weight,(canBePickedUp = true));
    this.cost = cost;
}

2 个答案:

答案 0 :(得分:3)

Java不允许非指定参数的默认值。您可以执行以下操作

public SaleItem(String description, double weight, double cost) {

    // initialise instance variables
    super(description,weight,true);
    this.cost = cost;
}

你可以使用canBePickedUp参数做第二个构造函数。

答案 1 :(得分:0)

如果您想始终将canBePickedUp初始化为true,那么

 public SaleItem(String description, double weight, 
                                             boolean canBePickedUp, double cost) {
     // initialise instance variables
      super(description,weight,true);
      this.cost = cost;
 }

只要super是构造函数中的第一个语句,就应该没问题。