代码块
一.定义;在java中用{ }包裹起来的代码都称为代码块。
二. 代码块的分类:
局部代码块:
在局部的位置(方法定义中){ },限定局部变量的生命周期,不能超过这个范围访问
构造代码块:
在类的成员位置中使用{ } 包裹起来的代码,
作用将多个构造方法中相同的代码存储在构造代码块中,在执行构造方法之前先执行,对数据进行初始化!
特点:在每次执行构造方法之前,如果存在构造代码块,则优先执行构造代码块,再执行构造方法!
静态代码块:
在类成员的位置:
静态随着类的加载而加载,类加载一次,静态代码块就执行一次
静态代码块优先执行!
三个代码块的优先级:
静态代码块(JDBC)>构造代码块>构造方法!
class Code{
//静态代码块
static{
int x = 1000 ;
System.out.println(x) ;
}
static{
int y = 2000 ;
System.out.println( y ) ;
}
//构造代码块
{
int x = 100 ;
System.out.println(x) ;
}
{
int y = 200 ;
System.out.println(y) ;
}
//无参构造方法
public Code(){
System.out.println("code...") ;
}
//有参构造
public Code(int num){
System.out.println("code"+num) ;
}
}
}
//测试类
class CodeDemo{
public static void main(String[] args){
//局部代码块
{
int x = 10 ;
System.out.println(x) ;//10
}
System.out.println("------------------") ;
//System.out.println(x) ;无法变量x
//创建Code类对象
Code c = new Code() ;
System.out.println("------------------") ;
Code c2 = new Code(10) ;
}
}