六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 29|回复: 0

类的执行顺序

[复制链接]

升级  82%

47

主题

47

主题

47

主题

秀才

Rank: 2

积分
173
 楼主| 发表于 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、执行继承类的构造函数。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表