JAVA继承的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:17:00
7、(5分)阅读以下程序,输出结果为 。(5分)
class C1 {
C1 () {
System.out.print ("1 "); }
}
class C2 extends C1 {
C2() {
System.out.print ("2 "); }
}
public class C3 extends C2 {
C 3() {
System.out.println("3 "); }
public static void main(String[] args) {
C3 c = new C3( ); }

为什么鸟 ????

创建子类的对象时,首先是调用父类的构造方法,然后调用自己的
你的例子的执行顺序时,
创建C3时,调用他直接父类的构造方法,也就是.C2,然而,C2又是继承的C1

所以先调用C1的构造方法,然后是C2,最后C3
结果是
1 2 3