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日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动