为什么下面的代码会产生编译错误(构造函数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();
}
}
编译器只会向 a 添加一个默认构造函数class
如果没有构造函数class
情况并非如此AA
.
8.8.9 默认构造函数 (Java语言规范) http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.9
如果类不包含构造函数声明,则隐式声明默认构造函数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)