构造代码块
作用:给所有的对象初始化
例 :
class Person
{
private String name = "baby";
{//构造代码块作用,给所有的对象初始化。
System.out.println("code......"+this.name);
cry();
}
Person()//构造函数只给对应的对象初始化。
{
// cry();
System.out.println("person() run....");
}
Person(String name)
{
this.name = name;
// cry();
System.out.println("person(name) run......");
}
void cry()
{
System.out.println("哇哇......");
}
}
局部代码块
作用:控制局部变量的生命周期
例:
public static void main(String[] args)
{
Person p = new Person();
Person p1 = new Person("lisi");
{//局部代码块。控制局部变量的生命周期。
int x = 4;
System.out.println("x="+x);
}
System.out.println("x="+x);
System.out.println("over");
静态代码块
特点:随着类的加载而执行,而且只执行一次。
作用:用来给类进行初始化的。
例:
class StaticCode
{
// static int x= 3;
static
{
// x = 5;
System.out.println("a");
}
static void show()
{
System.out.println("show run");
}
}
public class Demo
{
static
{
System.out.println("b");
}
public static void main(String[] args)
{
StaticCode.show();
}
static
{
System.out.println("c");
}
}
运行结果为
a
b
c
show run