Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法在继承中设置构造函数_Java_Bluej - Fatal编程技术网

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

Java 有没有办法在继承中设置构造函数,java,bluej,Java,Bluej,所以我想知道是否有一种方法可以为bluej上的构造函数设置特定的东西 类似于将布尔值设置为true而不询问其参数 public SaleItem(String description, double weight, boolean canBePickedUp, double cost) { // initialise instance variables super(descript

所以我想知道是否有一种方法可以为bluej上的构造函数设置特定的东西 类似于将布尔值设置为true而不询问其参数

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

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

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

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

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

您可以使用canBePickedUp参数执行第二个构造函数。

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

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

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

您可以使用canBePickedUp参数执行第二个构造函数。

如果希望始终将
canBePickedUp
初始化为
true
,则

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

只要super是构造函数中的第一条语句,就可以了。如果您想始终初始化
可以选择将
初始化为
true
,然后

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

只要super是构造函数中的第一个语句就可以了。

这样做有什么问题吗?只要
super
是构造函数中的第一个语句就可以了。这样做有什么问题吗?只要
super
是构造函数中的第一条语句,就可以了。