三部分,静态代码块,构造代码块还有局部代码块
1.静态代码块
类一加载就做一些动作,不一定需要对象\
特点:随类的加载而执行,只执行一次
例子:
class Demo{
static{
System.out.println("lalala");
}
static void show(){
System.out.println("hahaha");
}
}
class StaticDemo{
public static void main(String[] args){
Demo.show();
Demo.show();
}
}
执行结果:
lalala
hahaha
hahaha
要是这样:
class StaticDemo{
public static void main(String[] args){
Demo d = new Demo();
}
}
输出结果:
lalala
所以静态代码块可以用来:给类进行初始化
2.构造代码块
看例子
class CodeDemo{
{
System.out.println("code run");
}
Demo(){
System.out.println("demo run");
}
Demo(int x){
System.out.println("x="+x);
}
}
只要创建对象就会被调用,给所有对象初始化
可以用来定义不同构造函数的共性代码
3.局部代码块
不放在类里面,而是放在方法里面
class Demo{
public static void main(String[] args){
//局部代码块
{
int x = 5;
System.out.println("x="+x);
}
System.out.println("x="+x);
}
}
执行结果:
Demo.java:8: 错误: 找不到符号
System.out.println("x="+x);
^
符号: 变量 x
位置: 类 Demo
1 个错误
也就是说,x这个只在{}里面起作用
所以局部代码块作用:控制局部变量的生命周期
//好像这些用处不太大??? ಥ_ಥ