java5

1.实验:利用IDE的debug功能给代码中的new语句设置断点,使用单步调试(step into/step over)跟踪子类对象实例化(初始化)的执行顺序,并总结该过程。
为对象分配内存空间,对成员变量进行默
认的初始化绑定构造方法,将new中的参
数传递给构造方法的形式参数。调用this
或super语句(二者必居其一,不能同时存
在),执行流程如图所示进行实例变量的
显式初始化操作, 如:public class A{
int value=4; //显式初始化 B b = new
B(); //显式初始化,注:B为另一个类}

2.如何实现两个对象之间互发消息,请举例说明。
引用必须真实引用了特定的对象,否则会
在运行时抛出NullPointerException异
常。被访问对象必须定义了相应的属性或
方法,否则编译不会通过。被访问的属性
或方法必须具有可访问的权限。

3.谈谈组合与继承的区别以及两者的使用场景。
组合:在新类里面创建原有类的对象,重
复利用已有类的功能。
继承:可以使用现有类的功能,并且在无
需重复编写原有类的情况下对原有类进行
功能上的扩展。
使用场景:除非两个类之间是“is-a”的关
系,否则不要轻易的使用继承,不要单纯
的为了实现代码的重用而使用继承,因为
过多的使用继承会破坏代码的可维护性,
当父类被修改时,会影响到所有继承自它
的子类,从而增加程序的维护难度和成
本。不要仅仅为了实现多态而使用继承,
如果类之间没有“is-a”的关系,可以通过实
现接口与组合的方式来达到相同的目的。
设计模式中的策略模式可以很好的说明这
一点,采用接口与组合的方式比采用继承
的方式具有更好的可扩展性。在Java语言
中,能使用组合就尽量不要使用继承。

4.Java中的运行时多态的含义是什么?有什么作用?请举例说明。
含义:程序运行时,Java从实例所属的类
(new 类)开始寻找匹配的方法执行,如
果当前类中没有匹配的方法,则沿着继承
关系逐层向上,依次在父类或各祖先类中
寻找匹配方法,直到Object类。作用:动
态绑定,使用父类引用指向子类对象,再
调用某一父类中的方法时,不同子类会表
现出不同结果,扩展性极好

5.简述运算符instanceof的使用场景。
用法:判断对象是否为特定类的实例,还
可以将这个对象强制转换成这个类的类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值