java高手们,你们给请解一下,它的输出结果我有点不明白,

来源:百度知道 编辑:UC知道 时间:2024/05/25 09:40:17
class S1
{
public static void main(String[] args)
{
new S2();
}
S1()
{
System. out. println("Sl");
}
}
class S2 extends S1
{
S2()
{
System.out.println("S2");
}
}
高手呀,我还有一点不明白呀,你帮忙给解决一下:就是S1和S2都是类呀,为什么可能执行?就没有对象被建立,怎么可以执行呢???

应该是
S1
S2
这个是跟java的构造函数的运行机制有关系。他肯定会先调用父类的构造函数然后是自己的。

S1
S2

子类在构造时会自动隐式运行super(),当然,有的场合会让你写出来;这个super()就是父类的构造