刚在看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源文件->静态代码块-->静态属性-->创建对象-->非静态代码块-->构造方法-->方法