代码块分为三种:
·普通代码块:直接写在方法里面的代码块
·构造块:在类中定义的代码块
·静态块:在类中定义的static代码块,是一种特殊的构造块
先来看一看对象实例化过程
(1)类加载过程
(2)对象实例化过程
·类加载过程
(1)先将.class文件从外存转入内存
(2)为static变量分配空间,同时做出相应的初始化
(3)执行静态块
·对象实例化过程
(1)开辟内存空间(变量、方法体)及类成员变量的初始化(隐式初始化)
(2)显式初始化,顺序的执行赋值语句
(3)执行构造块
(4)执行构造方法
(5)返回对象的引用
public class D {
{
System.out.println("构造块");
}
static {
System.out.println("静态块");
}
public D(){
System.out.println("构造方法");
}
public static void main(String[] args){
D d1 = new D();
D d2 = new D();
{
String info = "代码块";
System.out.println(info);
}
String info = "猜猜我是谁";
System.out.println(info);
}
}
运行结果为:
静态块
构造块
构造方法
构造块
构造方法
代码块
猜猜我是谁