- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA习题4参考答案
习题四参考答案
一、判断题
1.对 2.对 3.错 4.错 5.对 6.错 8.错9.对 10.对 11.错12.对 13.错 14.对 15.对 16.错
17.对 18.对 19.错 20.错
二、选择题
1.B 2.B 3、A 4.B 5.A6.C 7.B 8.D9.B 10.B11.A 12.D 13、D 14.A 15.D16.D17、C 18.D 19、AD 20、CD
21、C 22、C 23、C 24、B 25.B26.D 28.A Child中;选项B和选项D方法中的参数类型和个数都与父类定义的方法相同,由于父类定义的方法用public修饰,要想覆盖父类定义的方法,子类的方法也必须用public修饰,因此,选项D可以加入子类Child中,但选项B不行。
第8、10、13和14题:这几题主要考查子类中含有覆盖方法的调用情况。子类对象调用方法时,首先调用子类中同名和参数形式(参数个数、类型和顺序)一致的方法,否则就调用父类中定义的匹配的方法。
第9题:本题考查对类实现接口的理解。在Java的接口中包括抽象方法和常量。类实现接口时,需实现接口中的所有方法,并可直接使用接口中定义的常量(等同于从接口中继承了这些常量)。本题中的接口B定义了int k=10;”编译时会自动加上final,表示k为常量。因此,本题选B。
第11题:本题考查父类中有static修饰和没有static修饰的方法被子类覆盖的情形。当父类的方法被static修饰时,子类中覆盖的方法也必须用static修饰。反之,父类的方法没有static修饰,子类中覆盖的方法也不用static修饰。所以,本题选A。
第12和16题:这2题考查子类继承父类时构造方法的定义。子类继承父类时,若父类定义了有参数的构造方法,而没有定义无参数的构造方法,那么在子类中的构造方法必须用super语句去调用父类定义的有参数的构造方法,否则无法通过编译。因此,建议在定义父类时,如写了构造方法,最好写上一个无参数的构造方法。
第18题:本题考查类的继承。选项A中的m仅在父类的方法参数中定义,无法给变量i赋值;选项B中的b是非静态成员变量,在静态的main方法中无法直接给i赋值;父类定义的a是私有的,无法被子类继承,所以选项C也不对。选项D中的方法change是父类定义的公共方法,可以被子类继承和调用。因此,本题选D。
第23题:本题考查类的构造方法。程序中第2行为构造方法,第5行为方法名,Test有void修饰,它不是构造方法,可作为实例方法。程序编译能通过。运行时,第9行实例化Test对象,调用第2行的构造方法,输出3;然后执行第9行调用第5行的方法,输出2;最后执行11行,输出1。因此,本题选C。
第24题:本题考查子类实例化时的过程
三、程序阅读题
1. int
2.(1)abstract (2)getName (3)extends (4)String major (5)getMajor
3. 32
4. resultOne=0
resultTwo=48
resultThree=20
5. Pine
Tree
Oops
6. My Func
7. 输出结果为: 2
8. hi!
I am Tom
How do you do?
9. final double PI=3.14;
第5行的extends改为implements
第10行的方法声明增加一个public, 改为public double area()
10.
15
11
10
11.
2
2
1
四、 编程题
1.参考代码如下:
public class Circle {
double radius;
public Circle(){
radius=0;
}
public Circle(double r){
radius=r;
}
public double getRadius(){
return radius;
}
public double getPerimeter() (
return 2*Math.PI*radius;
}
public double getArea () {
return Math.PI*radius*radius;
文档评论(0)