①在java中执行顺序
一 静态初始化块
二 非静态初始化块
三 构造器
四 父类构造器
② java中的赋值顺序
一 静态初始化块直接赋值
二 非静态初始化块直接赋值
三 父类继承的属性已赋值
四 静态变量声明时赋值
五 成员变量声明时赋值
六 构造器赋值
接下来我们用一个简单代码来验证一下吧
package com.Hellworld;
public class JavaProcress extends Procress{
public JavaProcress() {
// TODO Auto-generated constructor stub
System.out.println("我是构造器方法");
}
static
{
System.out.println("我是静态初始化块");
}
{
System.out.println("我是非静态初始化块");
}
public static void main(String[] args)
{
JavaProcress java = new JavaProcress();
}
}
class Procress
{
public Procress() {
// TODO Auto-generated constructor stub
System.out.println("我是父类构造器方法");
}
}
运行后结果是:
我是静态初始化块
我是父类构造器方法
我是非静态初始化块
我是构造器方法