代码块
定义
代码块可以分为普通代码块、构造块、静态代码块、同步代码块四种。
普通代码块
普通代码块就是指在方法或者语句中定义的代码块。
public class OverrideDemo01{
public static void main(String[] args) {
{
int x=30;
System.out.println(x);
}
int x=100;
System.out.println(x);
}
}
出了代码块的局部变量的失效了。
构造块
构造块是直接卸载类中的代码块。
class Demo{
{
System.out.println("我是构造块1.....");
}
public Demo(){
System.out.println("我是构造块2......");
}
}
public class OverrideDemo01{
public static void main(String[] args) {
new Demo();
new Demo();
new Demo();
}
}
构造块优于构造方法执行,当在类中定义了构造块,构造块先执行,任何在执行构造方法。
静态代码块
静态代码块是用static关键字声明的代码块。
{
System.out.println("我是构造块1.....");
}
static{
System.out.println("我是静态代码块1.....");
}
public Demo(){
System.out.println("我是构造块2......");
}
}
public class OverrideDemo01{
static{
System.out.println("我是静态代码块2.....");
}
public static void main(String[] args) {
new Demo();
new Demo();
new Demo();
}
}
首先执行主方法外部的静态代码块2,然后执行外部类Demo的静态代码块1,后面执行的结果和上面一致
注意:静态代码块只执行一次。