【发布时间】:2023-03-27 18:07:01
【问题描述】:
我在学校学习 Java,遇到了继承和构造函数的问题。 我有3个班级,A级,B级和C级。 A类是超类,B类扩展A类,C类扩展B类。 B 类有一个构造函数,其形式(参数)是一个字符串。一切都很好,直到这里。 所以现在,我将 B 类扩展到 C 类。在 C 类中,我需要创建一个构造函数 有一个 B 类的实例作为其参数。然后我需要提取一些信息 来自 B 类并将其存储在 C 类中。
这是我们的代码。
public class B extends A {
int b;
public B(int b) {
this.b=b;
}
}
public class C extends B {
int c;
public C(B b) {
this.c = b.b;
}
}
在我的 main() 中
我有以下代码行来创建一个 C 实例
C c_c = 新 C(新 B(12));
编译时出现错误。 错误:B 类中的构造函数 B 不能应用于给定类型;
原因:实际参数列表和形式参数列表的长度不同
你们能帮我理解我做错了什么吗?
【问题讨论】:
-
你可能忘记重新编译其他类文件了。
标签: java inheritance constructor