JAVA作业⑤
1.实验:利用IDE的debug功能给例6.4和例6.6的new语句设置断点,使用单步调试跟踪子类对象实例化的执行顺序,并总结该过程。
子类构造函数-父类构造函数-父类属性-父类构造函数-子类属性-子类构造函数
2.如何实现两个对象之间互发消息,请举例说明。
3.谈谈组合与继承的区别以及两者的使用场景。(即什么时候宜用组合?什么时候宜用继承?)
组合:将已存在的类型作为一个新建类的属性。
继承:子类可使用父类的属性和方法。
区别:
组合可使得关联的对象可随时变化;具有可选择继承性;消息和内部私有方法之间没有直接的联系;为阻断变化在软件系统的传播提供了可能。
继承直接继承了父类里的所有属性和方法,便于直接重载和覆盖。
4.Java中的运行时多态的含义是什么?有什么作用?请举例说明。
重载:扩充需求,实现功能复用。
覆盖:可使抽象类的声明在保证消息发送统一性的前提下,具有消息结果执行上的相异性特点。
5.使用接口改写例6.8中的程序。
6.简述运算符instanceof的使用场景。
a(对象引用) instanceof A(类)
a是A的对象引用,true
a不是A的对象引用,false