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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码块:
静态代码块,构造代码块,局部代码块
静态代码块:
static{}
在类中,函数外,被static修饰的代码块
随着类的加载而执行,而且只执行一次。
作用:用于给类进行初始化。
构造代码块:{}
在类中,函数外,没有任何修饰符的代码块
作用:可以给所有对象进行初始化。
局部代码块:{}
在函数中的被{}包围的代码块,限定作用范围
例:
class Student
{
        public String name;
        public static String school="西山小学";
        {//构造代码块
                        System.out.println("构造代码块执行");

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

        Student(String name){//构造函数
                this.name=name;
                System.out.println("构造函数执行");
        }
        public String getName(){
                return name;       
                }
        public String getSchool(){
                return school;
        }
}
class TestDemo
{
        public static void main(String[] args)
        {
                Student stu=new Student("小花");
                System.out.println(stu.getName());
                {//局部代码块
                        int a=3;
                                System.out.println(a);
                }
                //System.out.println(a);//这句不注释会编译失败,提示找不到符号,说明变量a的作用域在局部代码块内
        }
}
打印结果:
静态代码块执行
构造代码块执行
构造函数执行
小花
3
由此可知,执行顺序静态代码块先执行(类加载时执行,构造代码块(实现对象时,在构造函数执行前)执行最后到构造函数执行


4 个回复

倒序浏览
学习了。
回复 使用道具 举报
谢谢分享,收益了
回复 使用道具 举报
感谢分享
回复 使用道具 举报
好的 谢谢啦!`
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马