class A
{
public A()
{...}
}
class B extends A
{
public B(String s)
{...}
}
class C extends B
{
public C()
{...}
}
class const
{
public static void main(String a[])
{
B object=new B("Hello"); // gives error.
}
}
为什么编译器会出错?>
error.java:18:错误:B类中的构造函数B不能应用于给定的类型;
C类延伸B.
^
必需:字符串
发现:没有参数
原因:实际和正式的参数列表长度不同
1错误
答案 0 :(得分:0)
你必须调用孩子的构造函数
构造函数创建其类型的对象,因此如果调用父构造函数,则只能创建父实例。这就是为什么它不被允许,你必须重写C类如下:
C object=new C("Hello"); // gives error.
注意:在这种情况下出错:
"values": [
{"name": "name1"},
{"name": "name2"},
{"name": "name3"}
]