java语言与面向对象技术复习资料.docx
- 文档编号:14093928
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:14
- 大小:31.95KB
java语言与面向对象技术复习资料.docx
《java语言与面向对象技术复习资料.docx》由会员分享,可在线阅读,更多相关《java语言与面向对象技术复习资料.docx(14页珍藏版)》请在冰点文库上搜索。
java语言与面向对象技术复习资料
一、单项选择题。
1、下列哪个是Java应用程序主类中正确的main方法?
()
A.publicvoidmaiii(Sti-iiigargs[])
B.staticvoidmaiii(Striiigargs[])
C.publicstaticvoidMain(Stringargs[])
D.publicstaticvoidmain(Stringargs[])
2、下列哪项是正确的float变量的声明?
()
A.floatfoo=-l;B.floatfoo=1.0;
C.floatfoo=2.02f;D.floatfoo=0x0123;
3、对于inta[]二newint[3];下列哪个叙述是错误的?
()
A.a.length的值是3。
B.a⑴的值是1。
C.a[0]的值是0。
D.a[a.length-l]的值等于a[2]的值。
4、下列哪个叙述是正确的?
()
A.5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.,苹W果,的结果是char型数据。
D.(short)10+'a‘的结果是short型数据。
5、对于下列Hello类,哪个叙述是正确的?
()
A.Hello类有2个构造方法。
B.Hello类的iiitHello()方法是错误的方法。
C.Hello类没有构造方法。
D.Hell。
无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。
classHello{
Hello(intm){
}
iiitHello(){
Return20;
}
helloO{
}
}
6、下列哪个叙述是正确的?
()
A.成员变量的名字不可以和局部变量的名字相同。
B.方法的参数的名字可以和方法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
7、下列哪个叙述是正确的?
()
A.子类继承父类的构造方法
B.abstract类的子类必须是非abshact类
C.子类继承的方法只能操作子类继承和隐藏的成员变量
D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量
8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?
()
classA{
staticintm;
staticvoidfQ{
m=20;//A
}
}
classBextendsA{
voidf()//B
{m=222;//C
}
}
classE{
publicstaticvoidmain(Stringargs[]){
A.f();
}
}
9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?
()
A・publicfloatgetNumO{return4・0f;}
B・publicvoidgetNumO{};
C・publicvoidgetNum(doubled){}
D・publicdoublegetNum(floatd){return4.0d;}
classA{
publicfloatgetNumO{
return3・Of;
}
}
publicclassBextendsA{
【代码】
}
10、下列哪个叙述是正确的?
()
A.一个类最多可以实现两个接口
B.如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法
C.如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法
D.允许接口中只有一个抽象方法
二、程序填空题。
1、publicclassTV{
iiitchannel;〃电视频道
voidsetChamiel(intm){
if(m>=l){cliaimel=m;
}
}
iiitgetChannel(){
[代码1]//返回成员变量的值
}
voidshowProgiam(){
switch(cliaimel){
case1:
System.out.println("综合频道”);
break;
case2:
System.out.println("经济频道”);
break;
case3:
System.out.println("文艺频道”);
break;
case4:
System.out.prmtln(H国际频道”);
break;
case5:
System.out.println("体育频道”);
break;
default:
System.out.priiitlnC,不能收看"+channel+”频道”);
}
}
}
publicclassFamily{
TVhoineTV;
voidbuyTV(TVtv){
[代码2】//将参数tv赋值给homeTV}
voidremoteControl(intm){
[代码3】〃调用setChannel()方法
}
voidseeTV(){
【代码4】//调用showProgramO方法
}
publicclassMaiiiClass{
publicstaticvoidmain(Stringargs[]){
TVhaimTV=newTV();
[代码5]
//haierTV调用setChamiel(iiitm),并向参数m传递5
System.out.priiitlii("haierT\r的频道是"+haierTV.getChannel());
FamilyzhaiigSanFamily=newFamily。
;[代码6]//zliangSaiiFaniily调用voidbuyTV(TVtv)方法,并将haierTV传递给参数TV
System.out.println(HzhangSanFamily开始看电视节UH);zhangSaiiFamily.seeT\r();
iiitm=2;
System.out.prmtliiC'liangSaiiFamily将电视更换至频道”);zhangSaiiFamily.remoteControl(m);
System.out.priiitlii("haierT\r的频道是"+haierTV.getChannel());System.out.priiitlii(HhangSaiiFamily再看电视节UH);zhangSaiiFamily.seeT\r();
}
}
2、absti-actclassEmployee{
publicabstractdoubleeaniings();
}
classYearW^rkerextendsEmployee{
【代码1】〃重写eaniiiigs()方法
}
classMonthWorkei'extendsEmployee{
【代码2】〃重写eaniiiigs()方法
}
classWeekWorkerextendsEmployee{
publicvoideaniiiigsO{
return52*780;
classCompany{
Employeef]employee;doublesalaries=O;
Company(Employee[]employee){
this.employee=employee;
publicdoublesalariesPay(){salaries=0;
for(inti=0;i salaries=salanes+employee[i].eaniings(); retxinisalaries; publicclassCompanySalaiy{ publicstaticvoidmain(Stringargs[]){ 【代码3】//公司有29名雇员 【代码4】{〃雇员简单地分成三类 if(i%3==0) employee[i]=newWeekWorkei();elseif(i%3==l) employee[i]=newMonthWorker0;elseif(i%3==2) employee[i]=newYearWorker(); Companycompany=newCompany(employee); System.out.priiitlii(H公司薪水总额: "+comp2my・salju・iesPay()+”元"); 三、阅读程序写结果题。 1、PublicclassE{ Publicstaticvoidmain(String[]args){ hitx=l,y=6; While(y->0){ X"; } System.out.print(“x=”+x+'',尸”+y); } } 2、classB{ intn; staticintsum=0; voidsetN(intn){ this・n二n; } intgetSumO{ for(inti二1;i〈二n;i++) sum=sum+i; returnsum; } } publicclassA{ publicstaticvoidmain(Stringargs[]){ Bbl=newB(),b2=newB(); bl.setN(3); b2.setN(5); intsl=b1.getSumO; ints2=b2・getSumO; System.out・printin(sl+s2); } } 3、请说出E类中【代码1】~【代码4】的输出结果。 classA{ doublef(doublex,doubley){ returnx+y; staticintg(intn){ returnn*n; } } classBextendsA{ doublef(doublex,doubley){ doublem=super・f(x,y); returnm+x*y; } staticintg(intn){ intnpA.g(n); returnm+n; } } publicclassE{ //【代码1】 //【代码2】 //【代码3】 //【代码4】 publicstaticvoidmain(Stringargs[])Bb=newB(); System,out.printin(b.f(10.0,8.0)); System.out・printin(b・g(3)); Aa=newB(); System,out.printin(a.f(10.0,8.0)); System・out・printin(a.g(3)); } }[代码1】[代码2] [代码3】[代码4】 四、编程题1O 编写应用程序,输出满足1+2+3+-*n<8888的最大正整数11。 五、编程题2。 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。 •编写抽象类Animal Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。 •编写模拟器类Simulator 该类有一个playSound(Animalanimal)方法,该方法的参数是Animal类型。 即参数animal可以调用Animal的子类的重写的cry()方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。 •编写Animal类的子类: Dog和Cat类 下图是Simulator、Animal>Dog、Cat的UML图。 1 1 1 i i i Dog Cat cry(): void cry(): void 部分答案 •、单项选择题。 题号 1 ■ 3 4 5 6 7 8 答案 D B B A D D C B 二、程序填空题。 1v【代码11returnchannel: 【代码2】homeTV=tv; 【代码3]homeTV.setChannel(m); 【代码4]homeTV.showProgram(); 2、【代码1】publicvoidearnings(){return12000; 【代码2】publicvoidearnings(){ return12*2300; } 三、阅读程序写结果题。 1、答: x二-5,y二-1 2、答: 27 3、答: 【代码1]98.0 【代码2】12 四、编程题1O publicclassXiti6{ publicstaticvoidmain(Stringargs[]){ iiitn=l; longsum=0; while(true){ sum=sum+n; n++; if(sum>=8888)break; } System.out.printin(“满足条件的最大整数: ”+(u-1)); }} 五、编程题2O 答: Aiiimal.java publicabstractclassAnimal{ publicabstractvoidcry(): publicabstractStringgetAnimalName(): } Simulator・java publicclassSimulator{ publicvoidplaySound(Animalanimal){ System,out.print(M现在播放”+animal.getAnimalName+°类的声音: ”); anima1.cry(); } } Dog・java publicclassDogextendsAnimal{ publicvoidcry(){(1分) System,out.println(“汪汪…汪汪”); } publicStringgetAnimalName(){ return“狗”; } } Cat・java publicclassCatextendsAnimal{ publicvoidcry(){(1分) System,out.printin("脚苗…临唯”); } publicStringgetAnimalName(){ return“猫”’ } } Application.java publicclassExample{ publicstaticvoidmain(Stringargs[]){ Simulatorsimulator=newSimulator(); Simulator・playSound(newDog()); Simulator・playSound(newCat()); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 语言 面向 对象 技术 复习资料