Java中方法执行顺序

时间:2022-04-29 19:33:41

Java中方法执行顺序:首先是静态块先执行,静态方法,最后是构造函数。

构造方法只有在new对象的时候才会执行,静态语句块和静态方法在类加载到内存的时候就已经执行了。另外,静态语句块只能给静态变量赋值,里面不能出现方法,同样,静态方法里面也不能出现静态语句块。

先是静态语句块执行,然后静态方法加载到内存,静态语句块你不管它它会自动会执行,而静态方法它一直存在于内存中,只有你用类名点方法名的时候才会执行。

public class ExA {  
static {
System.out.println("父类--静态代码块");
}

public ExA() {
System.out.println("父类--构造函数");
}

{
System.out.println("父类--非静态代码块");
}

public static void main(String[] args) {
new ExB();
}
}

class ExB extends ExA {
static {
System.out.println("子类--静态代码块");
}
{
System.out.println("子类--非静态代码块");
}

public ExB() {
System.out.println("子类--构造函数");
}
}
执行结果为:
父类--静态代码块 子类--静态代码块 父类--非静态代码块 父类--构造函数 子类--非静态代码块 子类--构造函数