sun201200204 发表于 2013-2-4 22:21:44

类的执行顺序

package com.payton.polymorphism;class Meal {    Meal(){      System.out.println("Meal()");    }}class Bread {    Bread(){      System.out.println("Bread()");    }}class Cheese {    Cheese(){      System.out.println("Cheese()");    }}class Lettuce {    Lettuce(){      System.out.println("Lettuce()");    }}class Lunch extends Meal {    private Bread b = new Bread();    Lunch(){      System.out.println("Lunch()");    }}class PortableLunch extends Lunch {    PortableLunch(){      System.out.println("PortableLunch()");    }}public class Sandwich extends PortableLunch{      private Bread b = new Bread();    private Cheese c = new Cheese();    private Lettuce l = new Lettuce();      public Sandwich(){      System.out.println("Sandwich()");    }    public static void main(String[] args) {      new Sandwich();    }}

Meal()Bread()Lunch()PortableLunch()Bread()Cheese()Lettuce()Sandwich()

调用顺序:
1、调用基类的构造函数。(先创建根,下一级派生类,....直到最后一个继承类的构造函数)
2、成员对象按照其声明顺序进行初始化。
3、执行继承类的构造函数。
页: [1]
查看完整版本: 类的执行顺序