Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我会得到一个';构造函数未定义`错误?_Java - Fatal编程技术网

Java 为什么我会得到一个';构造函数未定义`错误?

Java 为什么我会得到一个';构造函数未定义`错误?,java,Java,为什么以下代码会产生编译错误(构造函数AA()未定义)?它不应该调用默认构造函数吗 public class A{ public A(){ } } public class AA extends A{ public AA(int aa){ } } public class C{ public static void main(String[] args){ A a= new AA(); } } 如果类中没有构造函数,编译器只会将默认构造函数添

为什么以下代码会产生编译错误(构造函数
AA()
未定义)?它不应该调用默认构造函数吗

public class A{
    public A(){ }
}

public class AA extends A{
    public AA(int aa){ }
}

public class C{
    public static void main(String[] args){
        A a= new AA();
    }
}

如果
中没有构造函数,编译器只会将默认构造函数添加到
,而
AA
则不是这样

如果类不包含构造函数声明,则隐式声明默认构造函数

你写

A a= new AA(); // try to invoke default constructor
但是类
AA
中没有构造函数,因为您编写了自己的构造函数

public AA(int aa){ }
所以试试这个:

int someInteger = 1;
A a= new AA(someInteger);

AA是否有其他构造函数?@Eran是的,我编辑了代码。