代码块分类 根据其位置和声明的不同,可以分为:
局部代码块
在方法中出现;限定变量生命周期,及早释放,提高内存利用率
public static void main(){
{
局部代码块
}
}
构造代码块
构造代码块 (初始化块)【开发中实际用的很少】
a.在类中方法外出现;
b.构造代码块在构造方法前执行
c.每次调用构造方法,构造代码块都会执行
d.构造代码块有什么用
局部代码块作用:在方法内部可以提前释放变量
构造代码块作用:把相同的代码放在构造代码块
class Student{
{
//构造代码块
}
public Student() {
System.out.println("构造方法");
}
}
静态代码块
在类中方法外出现,并加上static修饰;
用于给类进行初始化,在加载的时候就执行,并且只执行一次。
一般用于加载驱动
字节码加载到内存中便会执行
class Student{
/***
* 静态代码块作用
* 1.用于给类进行初始化
* 2.一般用于加载mysql驱动
* 3.如果有一段代码从始至终,只运行一次,可以写到静态代码块
*/
static {
//静态只能访问静态
System.out.println("静态代码块");
}
}
看代码写运行结果
class Person {
static {
System.out.println("Person 静态代码块");
}
{
System.out.println("Person 构造代码块");
}
public Person() {
System.out.println("Person 构造方法");
}
}
public class Demo{
static {
System.out.println("Demo静态代码块");
}
public static void main(String[] args) {
System.out.println("我是main方法");
Person p1 = new Person();
Person p2 = new Person();
}
}