您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计复习题及参考答案
第1页共11页网络教育课程考试复习题及参考答案面向对象程序设计一、填空题:1.创建类的对象时,使用运算符___________给对象分配内存空间。2.Java通过来区分重载函数。3.在子类中使用保留字__可调用被子类覆盖的父类中的方法。4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。5.抽象类用修饰符定义。6.类的数据成员的访问权限修饰符一般为7.访问权限修饰符按照访问权限的大小从大到小分别为、、、。8.定义类的构造方法不能有,其名称与名相同。9.抽象方法是的特征是。10.Java中的所有异常都是从继承来的。11.对象引用中存储的内容是。12.下列程序段执行后,Stringstr1=newString(Java);Stringstr2=newString(Java);if(str1.equals(str2)){System.out.println(Theyareequal);}else{System.out.println(Theyarenotequal);}输出结果为:。13.下面循环执行后的sun值为intcount=0,sum=0;while(count10){sum+=count;count++;}14.Java语言中关键字__表示双精度类型。15.保留字__用于导入包中的类到程序中,供程序中使用。16.Java语言中继承是用保留字表示。17.面向对象程序设计中,类是指。18.对象包含和。19.若有类定义:classBextendsA{…}则类B是类A的_。20.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_块来捕获和处理异常。21.多态是指。22.声明常量时使用修饰符。23.Java中异常抛出使用保留字。24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名来访问和调用。第2页共11页25.如果类成员前面没有访问权限修饰符,则该类成员具有访问权限。26.下面构造方法是非法的a):publicintClassA(intone){…}b):publicClassB(intone,inttwo){…}c):ClassC(){…}27.程序填空:publicvoidgetData(){Stringstr=JoptionPane.showInputDialog(null,”Input:”);if(str.equals(“”){thrownewIOException();})28.对象称为类的。29.Java程序的源文件以为扩展名,编译后的文件以为扩展名。二、简答题:1.类和对象的概念和关系是什么?2.请说明对象声明和对象生成之间的区别,并使用内存状态图举例说明这种区别。3.this和super两个保留字的意义和作用是?4.构造器方法有什么特点和作用?5.保留字throw和throws有什么区别?6.将下面的while循环改写为for循环intcount=1,sum=0;while(count=30){sum+=count;count+=3;}7.Java语言编译和执行的过程是?8.检查型异常和非检查型异常有何区别?9.请改造下面的构造方法,使第一个构造方法调用第二个构造方法。publicClassOne(intalpha){this.alpha=alpha;this.beta=0;}publicClassOne(intalpha,intbeta){this.alpha=alpha;this.beta=beta;}10.Java有哪几个访问权限修饰符,各起到什么作用?第3页共11页11.请说明实例方法、类方法和构造器方法的特点和区别。三、请写出下面的代码段的输出结果:1.classQ2main{publicstaticvoidmain(string[]args){QuestionTwoq2;q2=newQuestionTwo();q2.init();q2.increment();q2.increment();system.out.println(q2.getCount());}}classQuestionTwo{privateintcount;publicvoidint(){count=1;}publicvoidincrement(){count=count+1;}publicintgetCount(){returncount;}}2.intgradeLevel;switch(gradeLevel){case1:System.out.print(Gotothe101);case2:System.out.print(Goto202);break;case3:System.out.print(Goto303);case4:System.out.print(Goto404);break;default:System.out.print(default);}如果变量gradeLevel在switch语句之前为以下数值,上述程序代码段执行后,将分别输出什么?a)2b)3c)4d)53.intx;for(intwidth=1;width=20,width++){for(intlength=5,length=25,length+=5){第4页共11页x=width*length;System.out.print(+x);}System.out.println();}输出结果为:4.classMyException1extendsException{publicMyException1(){}publicMyException1(Stringmsg){super(msg);}}publicclassExceptionTest{publicstaticvoidf()throwsMyException1{System.out.println(The1stlineoff());thrownewMyException1(Exception1:Originatedinf());}publicstaticvoidmain(String[]args){System.out.println(The1stlineofmain());try{System.out.println(The2ndlineofmain());f();System.out.println(The3rdlineofmain());}catch(MyException1e){System.out.println(e.getMessage());}finally{System.out.println(The4thlineofmain());}System.out.println(The5thlineofmain());}}输出结果为:5.importjava.io.*;classBase{Base(){System.out.println(Base());}voidm1(){System.out.println(Base.m1());}}classDerivedextendsBase{Derived(){this(default);System.out.println(Derived());}Derived(Stringss){System.out.println(ss);}第5页共11页voidm1(){System.out.println(Derived.m1());}}publicclassApplication1{publicstaticvoidmain(Stringargs[]){Baseb;b=newDerived();b.m1();}}输出结果为:6.classShape{voiddraw(){System.out.println(Shape.draw());}}classCircleextendsShape{voiddraw(){System.out.println(Circle.draw());}}classSquareextendsShape{voiddraw(){System.out.println(Square.draw());}}publicclassShapes{publicstaticvoidmain(String[]args){Shape[]s=newShape[3];s[0]=newShape();s[1]=newCircle();s[2]=newSquare()for(inti=0;i3;i++)s[i].draw();}}输出结果为:7.try{number=Integer.parseInt(“-30”);if(number0){thrownewException(“Nonegative”);}catch(NumberFormatExceptione){System.out.println(“Cannotcoverttoint”);}catch(Exceptione){System.out.println(“Error:”+e.getMessage());第6页共11页}finally{System.out.println(“DONE”);}输出结果为:8.classValue{inti=10;}classTester{publicstaticvoidtest(intx){x=20;}publicstaticvoidtest(Valuev){v.i=20;}publicstaticvoidmain(String[]args){Valuev1=newValue();intx=10;Tester.test(x);Tester.test(v1);System.out.println(x);System.out.println(v1.i);}}9.classRock{Rock(){System.out.println(CreatingRock);}Rock(inti){System.out.println(CreatingRocknumber+i);}}publicclassSimpleConstructor{publicstaticvoidmain(String[]args){for(inti=0;i3;i++)if(i==1)newRock();elsenewRock(i);}}lassBicycleRegistration{publicstaticvoidmain(String[]args){Bicyclebike1,bike2;bike1=newBicycle();bike2=newBicycle(“xxxx”);bike1.setOwnerName(Test);System.out.println(bike1.getOwnerName()+ownsabicycle.);第7页共11页System.out.println(bike2.getOwnerName()+alsoownsabicycle.);}}classBicycle{privateStringownerName;publicBicycle(){ownerName=Unknown;}publicBicycle(Stringname){ownerName=name;}publicStringgetOwnerName(){returnownerName;}publicvoidsetOwnerName(Stringname){ownerName=name;}}输出结果为:四、编程题:1.编写一段Java程序代码,用一个对话在分开的两行中显示两条消息:“ICanDesign”和“AndICanProgram”。2.编写一个Java程序,对于给定的年份,回答“LeapYear”(闰年)或者“NotaLeapYear”(平年)。如果一个年份能被4整除,但是不能被100整除,它是闰年;如果一个年份能被100整除,也能被400整除,它也是闰年。需要定义名为LeapYear的服务提供类3.编写一个do-whi
本文标题:面向对象程序设计复习题及参考答案
链接地址:https://www.777doc.com/doc-1980920 .html