类c7构造方法无法适配给定类型问题求助(附相关代码)
解决子类构造方法参数不匹配的问题
你遇到的这个错误,核心原因是子类c7的带参构造方法里,调用父类构造时出现了参数拼写不完整的情况,导致无法匹配父类c6的构造方法签名。
错误根源分析
你在c7的带参构造里写了super(name,ag...,这里的ag...明显是未补全的age——这种不完整的参数会让编译器找不到父类中对应的构造方法,直接抛出“构造方法无法应用于给定类型”的报错。另外要记住:Java中子类构造必须调用父类构造,带参构造需要显式指定调用父类的对应带参构造。
修正后的完整c7类代码
public class c7 extends c6{ private double salary; // 默认构造方法:会隐式调用父类c6的无参构造,无需额外处理 public c7() { } // 带参构造方法:正确调用父类构造+初始化子类专属属性 public c7(String name,int age,double salary) { // 显式调用父类的带参构造,传递name和age初始化父类的成员变量 super(name, age); // 初始化子类自己的salary属性 this.salary = salary; } // 可选:扩展父类的show方法,同时打印薪资信息 @Override public void show(){ super.show(); // 复用父类的show方法打印姓名和年龄 System.out.println("Salary : " + salary); } }
额外编码建议
Java行业规范里,类名要采用大驼峰命名法(首字母大写),比如把c6改成C6、c7改成C7,这样代码可读性更高,也能避免和变量名混淆。
内容的提问来源于stack exchange,提问作者Sai Yerni Akhil
相关产品推荐
相关产品推荐

