java第五章课后题第五题_java第五章习题 p73

1.面向对象的主要特征是什么?

抽象 继承 封装 多态

2.封装是如何实现的?

封装是通过访问控制符实现的

3.对象之间如何相互作用?作用的条件是什么?

对象之间通过发消息相互作用

作用条件:

1.引用必须真实引用了真实的对象

2.被访问对象必须定义了相应的属性和方法

3.被访问的属性或方法必须具有访问权限

4.protected修饰符有何特点?

包访问权限,继承访问权限。(子类在继承父类的时候,首先应该满足父类可被访问,例如当子类和父类不在同一个包当中时,父类修饰符必为public;在父类能被访问的前提下,凡是修饰符为public或是protected的父类属性成员或是方法能被子类所访问;private的属性成员或是方法则不能被访问。)

5.Object都有哪些方法?

a3700032cc00ec31a2271be2dcbc0fdb.png

6.重载的方法之间一般都有什么关系?

方法名称相同,参数类型或个数不同(若方法名称相同,参数相同,返回类型不同,则编译不能通过)

7.子类覆盖父类方法需要什么条件?子类中定义与父类同名的方法一定是覆盖吗?

条件:方法名称相同,参数相同,返回类型相同

不一定是覆盖,还可能是重载。

8.封装、继承和多态在面向对象程序设计中的用途是什么?

将我们设计的程序进行包装,变成一个黑箱,只留几个接口供使用者用。而内部的怎么运行全部信息隐藏,这是封装。

继承和多态则是我们在设计过程中可以使用的很好的工具,有了他们我们不需要写很多重复的代码,仅仅简单便可直接用之前写过的代码。

而这个过程我们是不想让别人知道,别人也不需要知道的。

好比我们是房子的设计师,我们来设计房子的图纸,图纸相同的地方我们可以直接框起来选择并且复制,需要改动的地方用橡皮擦擦掉后做修改。

设计图纸画完之后这样的房子可以建在很多地方,这便是“类的实体化”,然后我们需要保护自己的知识产权,所以会进行封装,弄上水印之类的。

9.设计Src和Dis两个类, Src中有一个被封装的属性,类型为int(要求为非负值),每当我们通过特定方法更改Src对象中的这个属性后,Dis对象都能得到通知,并向Src发消息获得此属性值。

a2ea647b6633c6565c5e74c543ff51e1987.jpg

8438569c38567b9d8dcaf4b9f54cf229d2d.jpg

1 classSrc{2 private int num = 0;3 Dis d;4 publicSrc() {}5 public Src(inti) {6 if(i >= 0) {7 num =i;8 }9 }10 public voidSetDis(Dis di) {11 if(di!=null) {12 d=di;13 }14 }15 public void ChangeNum(inti) {16 if(i >= 0) {17 num =i;18 d.Message();19 }20 }21 public intGetNum() {22 returnnum;23 }24 }25

26 classDis{27 Src s;28 publicDis() {}29 publicDis(Src sr) {30 //建立联系

31 s=sr;32 s.SetDis(this);33 }34 public voidMessage() {35 System.out.println("the num is changed:"+s.GetNum());36 }37 }38

39 public classSrc_Dis {40

41 public static voidmain(String[] args) {42 Src sr = new Src(1);43 Dis di = newDis(sr);44 for(int i=0;i<10;i++) {45 sr.ChangeNum(i);46 }47 }48 }

Src_Dis

3eebc2adc678c341a2df5921d6f63393.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值