正如我所知,构造函数,实例初始化块不会继承到子类,但下面的代码继承了超类构造函数,它为什么调用?Java:继承构造函数到子类
预计产量为:从利弊2
但它像显示输出: --IIB-- 从利弊1 从利弊2
WHY? this output , *As i know "sub class should not inherit Constructor & IIB block"*
请帮我以澄清这个概念。
public class X
{
{
System.out.println("--IIB--");
}
X()
{
System.out.println("from cons 1");
}
}
class Y extends X
{
Y()
{
System.out.print("from cons 2");
}
}
class Z
{
public static void main(String args[])
{
Y ob=new Y();
}
}
如果构造函数体没有以显式构造函数调用开始,并且声明的构造函数不是原始类Object的一部分,则构造函数体隐式地以超类构造函数调用“super();”开始,它的直接超类的构造函数的调用没有任何参数。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.8 – Raghunandan