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 ( Lunch() ( System.out.print1n("Lunch()"); ) ) class PortableLunch extends Lunch ( PortableLunch()( System.out.println("PortableLunch()");I) public class Sandwich extends PortableLunch( private Bread b = new Bread(); private Cheese c = new Cheese(); private Lettuce 1= new Lettuce(); public Sandwich()( System.out.println("Sandwich()"); ) public static void main(String[ ] args) ( new Sandwich( ); 1得出运行结果并演示运行过程
时间: 2023-10-29 16:04:28 浏览: 71
meal_ordering_system-master.rar.rar
运行结果为:
Meal()
Lunch()
PortableLunch()
Bread()
Cheese()
Lettuce()
Sandwich()
运行过程如下:
1. 程序开始执行,main方法被调用,创建一个Sandwich对象。
2. 创建Sandwich对象时,先调用PortableLunch的构造函数,输出"PortableLunch()"。
3. PortableLunch的构造函数中,调用父类Lunch的构造函数,输出"Lunch()"。
4. Lunch的构造函数中,调用父类Meal的构造函数,输出"Meal()"。
5. Meal的构造函数执行完毕,返回到Lunch的构造函数,继续执行输出"Lunch()"。
6. Lunch的构造函数执行完毕,返回到PortableLunch的构造函数,继续执行输出"PortableLunch()"。
7. PortableLunch的构造函数执行完毕,返回到Sandwich的构造函数,继续执行输出"Sandwich()"。
8. 创建Sandwich对象时,同时创建了一个Bread对象、一个Cheese对象、一个Lettuce对象。
9. Bread、Cheese、Lettuce的构造函数分别被调用,输出"Bread()"、"Cheese()"、"Lettuce()"。
阅读全文