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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 悟能 中级黑马   /  2015-8-5 21:43  /  215 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*

        代码块:  一堆代码放一块,使用{}

        构造代码块
        在类中方法外出现;
        每次创建对象前,都执行一次.


        静态代码块 在类中方法外出现,
        加了static修饰
        在类中方法外出现,
        只是在类的加载的时候执行一次.


        局部代码块:
        在方法执行的时候,才会走,而且,走完就在内存消失.



*/

class PersonTest{

        public static void main(String[] args){

                Person p = new Person();


                Person p2 = new Person();

                Person p3 = new Person();

                p.show();

                System.out.println();


        }
}
class Person {

        String name ;
        int age;

        {
                System.out.println("构造代码块!!!!");
                name  = "xiaoming";
                age = 17;
        }

        static {
       
                System.out.println("静态代码块!!!!");
               
        }

        public void show(){

       
                {
                        int x =10;
                        System.out.println("局部代码块!!!!");
                }

                System.out.println(name +"---"+age );
        }
}

1 个回复

倒序浏览
我再给楼主谈砖加瓦吧,静态函数最先加载,其次是在对象创建之前构造代码块执行,然后构造函数执行.在继承中父类总是比子类的代码块先执行.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马