我尝试在子类的主方法中创建父实例。它显示错误:“A 类中的构造函数 A 无法应用于给定类型”。请告诉我为什么我的代码不起作用。谢谢
class A
{
protected int a;
A(int a) {
this.a = a;
}
}
class Test extends A
{
public static void main(String[] args) {
int a = 10;
A instance = new A(a);
}
}
最佳答案
问题不在线上
A instance = new A(a);
问题是,由于您没有在 Test 中定义任何构造函数,编译器应该提供以下形式之一:
Test() {
super();
}
但是不能,因为父类(super class) (A) 没有任何默认构造函数。因此,您需要明确提供一个构造函数:
Test() {
super(0);
}
或
Test(int i) {
super(i);
}
例如。
关于java - 从子类的main方法创建父实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593311/