先看下面的例子:
Person.java
class Person
{
int i = a();
int j = b();
static {
System.out.println("静态代码块");
}
{
System.out.println("空白代码块");
}
public Person(){
System.out.println("Person类的无参构造方法");
}
public Person(String name){
System.out.println("Person类有参构造方法");
}
public int a(){
System.out.println("方法初始化属性");
return 30 ;
}
public static int b(){
System.out.println("静态方法初始化属性");
return 30 ;
}
}
TestTurn.java
public class TestTurn
{
public static void main(String[] args)
{
Person p = new Person();
}
}
执行结果:
E:\learning\testjava>java TestTurn
静态代码块
方法初始化属性
静态方法初始化属性
空白代码块
Person类的无参构造方法
通过上面的结果 可以知道 java类中 new 一个对象的执行顺序。