poisonousID 2022-03-25 00:12 采纳率: 100%
浏览 35
已结题

初学者对java子类是否能够直接调用父类构造方法的提问

源代码
public class Commodity_information{
public static void main(String args[]){
commodities_son commodity1=new commodities_son(101,"商品实例1",19.9,"某生产商");
System.out.println("商品实例1信息:\n"+commodity1.toString());
commodity1.revise_price(29.9);
System.out.println("修改价格后:\n"+commodity1.toString());
}
}
abstract class commodities{
int number;
String name;
double price;
String manufacturer;
public commodities(){
}
public commodities(int number,String name,double price,String manufacturer){
this.number=number;
this.price=price;
this.name=name;
this.manufacturer=manufacturer;
}

public void revise_price(double price){
    this.price=price;
}

abstract public String toString();

}

class commodities_son extends commodities{
public String toString(){
return number+" "+name+" "+price+" "+manufacturer;
}
}

这样会出现下面的报错:

Commodity_information.java:3: 错误: 无法将类 commodities_son中的构造器 commodities_son应用到给定类型;
commodities_son commodity1=new commodities_son(101,"商品实例1",19.9,"某生产商");
^
需要: 没有参数
找到: int,String,double,String
原因: 实际参数列表和形式参数列表长度不同
1 个错误

工具以退出代码 1 完成

是不是commodities_son子类是不是不能调用父类的构造方法?
我自己如果给子类添加子类自己的构造方法就不会报错了

class commodities_son extends commodities{
public commodities_son(int number,String name,double price,String manufacturer){
super(number,name,price,manufacturer);
}

public String toString(){
    return number+" "+name+" "+price+" "+manufacturer;
}

}

img

img

我看到其他帖子说子类肯定会调用父类的构造方法,很困惑,求解报错原因和问题

  • 写回答

1条回答 默认 最新

  • 太空眼睛 Java领域新星创作者 2022-03-25 08:27
    关注

    子类需要增加一个构造函数,修改后的子类如下:

    class commodities_son extends commodities{
    
        public commodities_son(int number,String name,double price,String manufacturer){
            super(number, name, price, manufacturer);
        }
    
        public String toString(){
            return number+" "+name+" "+price+" "+manufacturer;
        }
    }
    

    请采纳,十分感谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月2日
  • 已采纳回答 3月25日
  • 创建了问题 3月25日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效