java对象方法执行顺序规律

来源:互联网 发布:数据围栏 贵阳 编辑:程序博客网 时间:2024/06/16 07:11

     这几天重新看了《JAVA编程思想》的初始化和清理,对java对象方法的执行顺序有了一个新的认识。java对象执行顺序:static方法-->基类的构造函数->非static的对象-->构造函数-->对象手动调用的方法。下面以个例子来说明。  

class A { A(){ System.out.println("A()");} }class B extends A { B(){ System.out.println("B()");} }class C extends A { C(){ System.out.println("C()");} }class D {{ System.out.println("D()");}}public class MyTest extends A { MyTest(){ System.out.println("MyTest()");} public static void staticMethord(){ System.out.println("staticMethord has do!");}public void test(){System.out.println("test has do!");}B b = new B();C c = new C();static D d = new D();public static void main(String[] args) {MyTest mytest = new MyTest(); mytest.test();}}
执行结果
D() //static对象A() //mytest的基类构造函数A() //B的基类构造函数B() //B的构造函数A() //C的基类构造函数C() //C的构造函数MyTest()  //mytest的构造函数test has do! //mytest调用的方法

  

原创粉丝点击