A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Demo_2 {
        public static void main(String[] args){
                new Zer();
        }
}
class Fu {
        public Fu(){
                System.out.println("Fu构造函数");         
        }
}
class Zi extends Fu {
        private Fu  fu= new Fu();
        public Zi(){
                System.out.println("Zi构造函数");   
        }
}
class Zer extends Zi {
        private Zi  zi= new Zi();
        public Zer(){
                System.out.println("Zer构造函数");   
        }
}

1 个回复

倒序浏览
首先运行Zer(),但是Zer继承了Zi而Zi又继承了Fu,所以Fu()首先加载,输出"Fu构造函数",然后到Zi,而Zi第一条语句是Fu fu=new Fu(),所以又输出一次"Fu构造函数",然后在输出"Zi构造函数".然后到Zer。分析和上面一样。
最后输出的是:Fu构造函数、Fu构造函数、Zi构造函数、Fu构造函数、Fu构造函数、Zi构造函数、Zer构造函数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马