代码块
代码块在类中声明,类似一个没有名称的方法体(代码块),代码分实例块和静态块
实例块:每次创建对象时自动调用
{
//写任何符合语法的java代码
}
静态块:类加载时自动调用,仅调用一次,与是否创建对象无关。
static {
//写任何符合语法的java代码
}
类被加载是什么时候?
类是在第一次创建对象时,使用类中静态的变量,静态方法被加载出
只要调用了一个类中的代码,那么这个类就被加载了
代码演示如下:
public class Demo {
public static void main(String[] args) {
Test test1 = new Test();
System.out.println("--------------");
Test test2 = new Test();
}
}
public class Test {
// 类被加载是什么时候?类是在第一次创建对象时,使用类中静态的变量,静态方法被加载出
// 只要调用了一个类中的代码,那么这个类就被加载了
//代码块定义在类中,没有名称,分为实例代码块和静态代码块
//代码块没有名字,如何被调用?
//实例代码块在创建对象时调用,每创建一次对象就执行一次
{
System.out.println("实例代码块1");
}
{
System.out.println("实例代码块2");
}
//静态代码块在类被加载时被调用,只执行一次
static {
System.out.println("静态代码块1");
}
static {
System.out.println("静态代码块2");
}
}