刚在看java核心技术时发现对java的执行顺序不是很明白了,百度一下也没有找到适合自己的资料,所以就简单的回顾一下吧
代码如下;
经典的程序执行面试题
//关于程序执行的顺序
//例如:
//定义一个基类
public class A(){
public A(){
System.out.println("A");
}
}
//定义一个类继承A类
public class B(){
public B(){
System.out.println("B");
}
}
public class C{
public C(){
System.out.println("C");
}
public static A a = new A();
public B b = new B();
public static void main(String args[]){
go();
}
public static void go(){
B b1 = new B();
}
}
运行结果; A A B
程序执行顺序;
加载类class源文件->静态代码块-->静态属性-->创建对象-->非静态代码块-->构造方法-->方法