还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
网络教育课程考试复习题及参考答案面向对象程序设计
一、填空题
1.创建类的对象时,使用运算符___________给对象分配内存空间
2.Java通过来区分重载函数
3.在子类中使用保留字__可调用被子类覆盖的父类中的方法
4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法
5.抽象类用修饰符定义
6.类的数据成员的访问权限修饰符一般为
7.访问权限修饰符按照访问权限的大小从大到小分别为、、、
8.定义类的构造方法不能有,其名称与名相同
9.抽象方法是的特征是
10.Java中的所有异常都是从继承来的
11.对象引用中存储的内容是
12.下列程序段执行后,Stringstr1=newStringJava;Stringstr2=newStringJava;ifstr
1.equalsstr2{}else{}输出结果为
13.下面循环执行后的sun值为intcount=0sum=0;whilecount10{sum+=count;count++;}
14.Java语言中关键字__表示双精度类型
15.保留字__用于导入包中的类到程序中,供程序中使用
16.Java语言中继承是用保留字表示
17.面向对象程序设计中,类是指
18.对象包含和
19.若有类定义classBextendsA{…}则类B是类A的_
20.Java语言中通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_块来捕获和处理异常
21.多态是指
22.声明常量时使用修饰符
23.Java中异常抛出使用保留字
24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名来访问和调用
25.如果类成员前面没有访问权限修饰符,则该类成员具有访问权限
26.下面构造方法是非法的a:publicintClassAintone{…}b:publicClassBintoneinttwo{…}c ClassC{…}
27.程序填空publicvoidgetData{Stringstr=JoptionPane.showInputDialognull”Input:”;ifstr.equals“”{thrownewIOException;}
28.对象称为类的
29.Java程序的源文件以为扩展名,编译后的文件以为扩展名
二、简答题
1.类和对象的概念和关系是什么?
2.请说明对象声明和对象生成之间的区别,并使用内存状态图举例说明这种区别
3.this和super两个保留字的意义和作用是?
4.构造器方法有什么特点和作用?
5.保留字throw和throws有什么区别?
6.将下面的while循环改写为for循环intcount=1sum=0;whilecount=30{sum+=count;count+=3;}
7.Java语言编译和执行的过程是?
8.检查型异常和非检查型异常有何区别?
9.请改造下面的构造方法,使第一个构造方法调用第二个构造方法publicClassOneintalpha{this.alpha=alpha;this.beta=0;}publicClassOneintalphaintbeta{this.alpha=alpha;this.beta=beta;}
10.Java有哪几个访问权限修饰符,各起到什么作用?
11.请说明实例方法、类方法和构造器方法的特点和区别
三、请写出下面的代码段的输出结果
1.
2.intgradeLevel;switchgradeLevel{case1:case2:break;case3:case4:break;default:default;}如果变量gradeLevel在switch语句之前为以下数值,上述程序代码段执行后,将分别输出什么?a2b3c4d
53.intx;forintwidth=1;width=20width++{forintlength=5length=25length+=5{x=width*length;}}输出结果为
4.classMyException1extendsException{publicMyException1{}publicMyException1Stringmsg{supermsg;}}publicclassExceptionTest{publicstaticvoidfthrowsMyException1{thrownewMyException1Exception1:Originatedinf;}publicstaticvoidmainString[]args{try{f;}catchMyException1e{}finally{}}}输出结果为
5.classBase{Base{}voidm1{}}classDerivedextendsBase{Derived{thisdefault;}DerivedStringss{}voidm1{}}publicclassApplication1{publicstaticvoidmainStringargs[]{Baseb;b=newDerived;b.m1;}}输出结果为
6.classShape{voiddraw{}}classCircleextendsShape{voiddraw{}}classSquareextendsShape{voiddraw{}}publicclassShapes{publicstaticvoidmainString[]args{Shape[]s=newShape
[3];s
[0]=newShape;s
[1]=newCircle;s
[2]=newSquareforinti=0;i3;i++s[i].draw;}}输出结果为
7.try{number=Integer.parseInt“-30”;ifnumber0{thrownewException“Nonegative”;}catchNumberFormatExceptione{“Cannotcoverttoint”;}catchExceptione{“Error:”+e.getMessage;}finally{“DONE”;}输出结果为
8.classValue{inti=10;}classTester{publicstaticvoidtestintx{x=20;}publicstaticvoidtestValuev{v.i=20;}publicstaticvoidmainString[]args{Valuev1=newValue;intx=10;Tester.testx;Tester.testv1;}}
9.classRock{Rock{}Rockinti{}}publicclassSimpleConstructor{publicstaticvoidmainString[]args{forinti=0;i3;i++ifi==1newRock;elsenewRocki;}}lassBicycleRegistration{publicstaticvoidmainString[]args{Bicyclebike1bike2;bike1=newBicycle;bike2=newBicycle“xxxx”;bike
1.setOwnerNameTest;
2.getOwnerName+alsoownsabicycle.;}}classBicycle{privateStringownerName;publicBicycle{ownerName=Unknown;}publicBicycleStringname{ownerName=name;}publicStringgetOwnerName{returnownerName;}publicvoidsetOwnerNameStringname{ownerName=name;}}输出结果为
四、编程题
1.编写一段Java程序代码,用一个对话在分开的两行中显示两条消息“ICanDesign”和“AndICanProgram”
2.编写一个Java程序,对于给定的年份,回答“LeapYear”(闰年)或者“NotaLeapYear”(平年)如果一个年份能被4整除,但是不能被100整除,它是闰年;如果一个年份能被100整除,也能被400整除,它也是闰年需要定义名为LeapYear的服务提供类
3.编写一个do-while循环以计算正整数中前30个奇数的累加和
4.编写可以根据用户年龄和身高给出推荐的体重的的Java程序,利用下面的公式计算出推荐的体重recommendedWeight=height–100+age/10*
0.9需要定义名为Height(身高)的服务提供类,它应该会有可以根据身高得到推荐提供的方法
5.请按照以下要求写出完整的程序代码(要求能上机编译运行)1创建一个抽象类AAbstractBase,该类至少包含一个抽象方法;2创建一个类TestClass,该类继承AAbstractBase,并包含两个构造器方法;
6.定义一个Vehicle类,类中包含一个Person类型的数据成员owner、一个获得owner值的访问方法和一个设置owner值的访问方法定义VehicleManage个类,该类包含主方法,并在主方法中创建Vehicle类的对象,并调用其设置owner和获取owner的方法参考答案
一、填空题
1.new
2.不同的参数列表
3.super
4.this
5.abstract
6.private
7.public、protected、包访问权限、private
8.返回值类型、类
9.只有方法声明没有方法体
10.Throwable
11.对象的存储地址
12.Theyareequal
13.
5014.double
15.import
16.extends
17.一个或多个相似对象的抽象描述
18.数据、执行在数据上的操作
19.子类(导出类)
20.catch
21.允许一个变量指向不同类的对象
22.final
23.throw
24.static
25.包
26.a
27.throwsException
28.实例
29.java、class
二、简答题
1.对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位一个对象由一组属性和对这组属性进行操作的一组服务组成,类是具有相同属性和服务的一组对象的集合类是对象的模板,对象是类的实例
2.对象声明是为对象的引用创建一个空间,而对象生成则是创建一个类的实例,即为对象分配空间,如果需要的话,其还会将对象空间的地址赋给其应用如Testert1;t1=newTester;
3.this它代表当前对象名,可用来调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句),在程序中易产生二义性之处,应使用this来指明当前对象;super: 它引用当前对象的直接父类中的成员,可以用来调用基类中的某一个构造函数(应该为构造函数中的第一条语句)也可以用来在基类与派生类中有相同成员定义时直接访问父类中被隐藏的父类中成员数据或函数
4.构造器一般用于对类进行初始化其特点如下a其定义形式跟类中其他方法基本类似b其方法名与类名完全相同(包括大小写)c其在对象被创建时自动被Java调用,而无需用户干预d其没有返回值类型e一个类可以定义多个构造方法
5.throw用于抛出一个异常,throws则是用于声明未必处理的运行时异常
6.sum=0;forintcount=1;count=30;count+=3sum+=count;
7.
8.因为编程错误而导致的异常,或者是不能期望程序捕获的异常(解除引用一个空指针,数组越界,除零,等等),为了使开发人员免于处理这些异常,一些异常被命名为非检查型异常(即那些继承自RuntimeException的异常)并且不需要进行声明,而检查型异常如果没有捕获则需在方法头部进行声明
9.publicClassOneintalpha{thisalpha0;}publicClassOneintalphaintbeta{this.alpha=alpha;this.beta=beta;}
10.public表明该成员变量和方法是共有的,能在任何情况下被访问protected必须在同一包中或者该类的导出类中才能被访问;private:只能在本类中访问;缺省的为包访问权限,在同一个包中可以访问
11.类方法前面有static保留字,其不需要创建类的实例,通过类名即可访问;实例方法则为普通方法,其需要创建类的实例后通过实例访问;构造方法的名称与类名完全相同,其在创建类的实例是自动执行
三、请写出下面的代码段的输出结果
1.
32.(a)Goto202(b)Goto303Goto404(c)Goto404(d)default
3.
51015202510203040501530456075204060801002550751001254.The1stlineofmainThe2ndlineofmainThe1stlineoffException1:OriginatedinfThe4thlineofmainThe5thlineofmain
5.BasedefaultDerivedDerived.m
16.Shape.drawCircle.drawSquare.draw
7.Error:NonegativeDONE
8.
10209.CreatingRocknumber0CreatingRockCreatingRocknumber
210.Testownsabicycle.xxxxalsoownsabicycle.
四、编程题
1.publicclassTest{publicstaticvoidmainString[]args{JOptionPane.showMessageDialognullICanDesign\nAndICanProgram;}}
2.publicclassTest{publicstaticvoidmainString[]args{LeapYearly=newLeapYear;}}classLeapYear{publicbooleancomputeLeapYearintyear{ifyear%4==0year%100!=0returntrue;ifyear%100==0year%400==0returntrue;returnfalse;}}
3.publicclassTest{publicstaticvoidmainString[]args{intsum=0i=0;do{sum=i*2+1;i++;}whilei=30;}}
4.publicclassTest{publicstaticvoidmainString[]args{Weightw1=newWeight;}}classWeight{publicdoublegetRecommendedWeightintageintheight{returnheight-100+age/10*
0.9;}}
5.publicclassTest{publicstaticvoidmainString[]args{TestClasst1t2;t1=newTestClass;t
1.testFun;t2=newTestClass10;t
2.testFun;}}abstractclassAAbstractBase{abstractvoidtestFun;}classTestClassextendsAAbstractBase{inti;TestClass{this0;}TestClassinti{this.i=i;}voidtestFun{}}
6.publicclassVehicleManage{publicstaticvoidmainString[]args{Vehiclev1=newVehicle;Personp1p2;p1=newPerson;v
1.setOwnerp1;p2=v
1.getOwner;}}classVehicle{Personowner;publicvoidsetOwnerPersonp1{owner=p1;}publicPersongetOwner{returnowner;}}classPerson{StringownerName;}t1t1:Tester。