代码块:
静态代码块,构造代码块,局部代码块
静态代码块:
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
由此可知,执行顺序静态代码块先执行(类加载时执行,构造代码块(实现对象时,在构造函数执行前)执行最后到构造函数执行
|
|