版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章接口与内部类习题解析1.选择题(1)关于定义接口的关键字,正确的是()。A.extendsB.implementsC.interfaceD.abstract答案:C(2)在Java中,能实现多重继承效果的方式是()A、内部类B、接口C、同步D、适配器答案:B(3)实现接口的关键字是()。A.extendsB.implementsC.interfaceD.final答案:B(4)下列选项中,关于接口的定义正确的是?()A、abstractclassDemo1{abstractvoidspeak();abstractvoideat();}B、interfaceDemo2{voidspeak();voideat();}C、interfaceDemo3{voidspeak()}D、interfaceDemo4{voidspeak(){System.out.println("zjnu");}voideat();}答案:B((5)接口是否可以当做数据类型()。A.可以B.不可以C.不能确定D.以上答案均不正确答案:A(6)Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的?()A、Innerin=newInner()B、Innerin=newOuter.Inner();C、Outer.Innerin=newOuter.Inner();D、Outer.Innerin=newOuter().newInner();答案:D(7)下面关于抽象类和接口论述正确的是()。A.接口中可以包含普通方法B.抽象类中只能包含抽象方法,不能包含普通方法C.接口中只能定义静态常量属性,不能定义普通属性D.接口中可以包含构造器答案:C(8)关于接口下面的说法正确的是()A.实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象类是同一回事答案:A(9)下面关于接口的定义正确的是()A.interfaceB{voidprint(){}}B.abstractinterfaceB{voidprint()}C.interfaceB{voidprint();}D.abstractinterfaceBextendsA1,A2{abstractvoidprint(){};}答案:C(10)在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。A.privateB.protectedC.privateprotectedD.public答案:D2.填空题(1)当一个接口继承多个父类接口时,多个父类接口排列在(extend)关键字之后,各个父类接口之间使用(,)隔开。。(2)接口中只能定义(静态常量属性),不能定义(普通属性);抽象类里可以定义(静态常量属性)也可以定义(普通属性)。(3)定义一个接口,接口的名称是Calculatepublic(interface)(Calculate){finalfloatPI=3.14159f;floatgetArea(floatr);floatgetCircumference(floatr);}(4)下面的代码输出结果是(我是老师我是学生)publicinterfacePeople{ voidSay(Strings);}publicclassTeacherimplementsPeople{//Teacher实现接口 publicvoidSay(Strings){ System.out.print(s); }}publicclassStudentimplementsPeople{//Student实现接口 publicvoidSay(Strings){ System.out.println(s); }}publicclassapp{ publicstaticvoidmain(String[]args){ Peopleteatea=newTeacher(); tea.Say("我是老师"); tea=newStudent(); tea.Say("我是学生"); }}(5)Java中接口的回调指的是:(把实现某一接口的类所创建的对象的引用赋值给该接口声明的接口变量),那么该接口变量就可以调用被类实现的接口方法。3.综合题(1)通过实验掌握接口的声明与使用第一步,使用Eclipse创建名为“task6_1”的Java项目。第二步,在“task6_1”项目中创建名为“Computable”的接口。在包浏览器(“PackageExplorer”)中选择刚刚创建的项目“task6_1”,并单击鼠标右键,并依次选择“New”“Interface”菜单项。系统将显示如下图所示的“Interface”对话框。在上图所示的位置输入接口名称“Computable”,单击“Finish”按钮,系统完成创建接口文件“Computable.java”。然后,在Computable接口中定义两个抽象方法add和sub,代码如右下图所示。第三步,再创建一个名为“Student”的Java类来实现Computable接口。在包浏览器(“PackageExplorer”)中选择项目“task6_1”,并单击鼠标右键,并依次选择“New”“Class”菜单项。系统将显示如下图所示的“Class”对话框。在左上图所示的位置输入类名“Student”,再通过单击“Add”按钮选择需要该类实现的接口(接口选择界面如右上图所示),单击“Finish”按钮完成创建类文件“Student.java”。补充完整生成的Student类的框架代码(删除代码中的“@Override”,并实现add和sub方法),具体代码如下图所示。第四步,在“task6_1”项目中再创建一个名为“Task6_1”的Java主类,Task6_1类的main方法的代码如右上图所示。参考答案:packagetask6_1;publicinterfaceComputable{ publicabstractintadd(inta,intb); abstractintsub(inta,intb);}packagetask6_1;publicclassStudentimplementsComputable{ StringStudentID; publicintadd(inta,intb){ //TODOAuto-generatedmethodstub returna+b; } publicintsub(inta,intb){ //TODOAuto-generatedmethodstub returna-b; }}packagetask6_1;publicclassTask6_1{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Computablec=newStudent(); System.out.println(c.add(2,38)); }}(2)通过实验理解面向接口编程的基本思想(把类的成员定义为接口变量)编程实现下面UML图所示的面向接口的软件框架。使用Eclipse创建Java项目“task6_3”,在该项目中创建一个名为“Task6_3”的Java类。Task6_3.java文件中的代码如下图所示(其中包含了PCI接口、使用PCI接口的MotherBoard类,以及实现PCI接口的NetworkCard类和SoundCard类的代码)。参考答案:packagetask6_3;interfacePCI{ publicabstractvoidstart(); publicabstractvoidstop();}classMotherBoard{ PCIpci1,pci2,pci3; voidPowerOn(){ if(pci1!=null)pci1.start(); if(pci2!=null)pci2.start(); if(pci3!=null)pci3.start(); } voidShutDown(){ if(pci1!=null)pci1.stop(); if(pci2!=null)pci2.stop(); if(pci3!=null)pci3.stop(); }}classNetworkCardimplementsPCI{ publicvoidstart(){ System.out.println("网卡开始工作!"); } publicvoidstop(){ System.out.println("网卡停止工作!"); }}classSoundCardimplementsPCI{ publicvoidstart(){ System.out.println("声卡开始工作!"); } publicvoidstop(){ System.out.println("声卡停止工作!"); }}publicclassTask6_3{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub MotherBoardmBoard=newMotherBoard(); mBoard.pci1=newNetworkCard(); mBoard.pci2=newSoundCard(); mBoard.PowerOn(); mBoard.ShutDown(); }}通过实验理解与掌握普通匿名类的定义与使用使用Eclipse创建Java项目“task7_2A”,在该项目中创建一个名为“Task7_2A”的Java类。Task7_2A.java文件中的代码如下图所示。参考答案:packagetask7_2A;classParent{ publicvoidsayHello(){ Sy
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年招录政府专职消防员笔试真题题库《火灾扑救》判断选择题100题及答案
- 2025年山师复试考试题目及答案
- 综合行政经理笔试题目及答案
- 乡村管理员考试题及答案
- 2025年安平中学招生考试题目及答案
- 四川省成都市蓉城名校联盟2024-2025学年高二上学期期中考试物理考试物理参考答案及评分标准
- 施工员考试题题型及答案
- 皮肤周护理的DIY方法
- 毛坯仓库转租合同范本
- 冰棍冰淇淋课件
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考试题及答案解析
- 看管牛羊合同范本
- 2025上海崇明区事务性辅助人员招聘7人笔试备考题库带答案解析
- 2025年东营市总工会公开招聘工会社会工作者(25人)笔试考试备考题库及答案解析
- 污水处理厂设备更新项目社会稳定风险评估报告
- 全国人大机关直属事业单位2026年度公开招聘工作人员考试模拟卷附答案解析
- 人社局公益性岗位笔试题目及答案
- 2026全国人大机关直属事业单位招聘50人笔试考试备考题库及答案解析
- 2026年烟花爆竹经营单位主要负责人证考试题库及答案
- 2025秋统编语文八年级上册14.3《使至塞上》课件(核心素养)
- 2025年点石联考东北“三省一区”高三年级12月份联合考试英语试题(含答案)
评论
0/150
提交评论