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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Fu {
                        static {
                                System.out.println("静态代码块Fu");
                        }
       
                        {
                                System.out.println("构造代码块Fu");
                        }
       
                        public Fu() {
                                System.out.println("构造方法Fu");
                        }
                }
       
                class Zi extends Fu {
                        static {
                                System.out.println("静态代码块Zi");
                        }
       
                        {
                                System.out.println("构造代码块Zi");
                        }
       
                        public Zi() {
                                System.out.println("构造方法Zi");
                        }
                }
       
                Zi z = new Zi(); 请执行结果。

4 个回复

倒序浏览
我按照你的代码写运行的结果如下:

静态代码块Fu
静态代码块Zi
构造代码块Fu
构造方法Fu
构造代码块Zi
构造方法Zi

由结果分析
整体上是静态代码块最先执行 然后构造代码块和构造方法代码块在执行
在继承体系上 遵循父类先执行 子类在执行  构造代码块和构造方法随着对象的创建而执行


我的理解是这样的 希望能帮到你

回复 使用道具 举报
java基础班的作业题,纯粹的概念
回复 使用道具 举报
弄清楚就好。。。。。。
回复 使用道具 举报
静态代码块Fu 静态代码块Zi 构造代码块Fu 构造方法Fu 构造代码块Zi 构造方法Zi
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马