面向对象程序设计复习题与参考答案Word文档格式.docx

上传人:b****6 文档编号:18852698 上传时间:2023-01-01 格式:DOCX 页数:16 大小:89.35KB
下载 相关 举报
面向对象程序设计复习题与参考答案Word文档格式.docx_第1页
第1页 / 共16页
面向对象程序设计复习题与参考答案Word文档格式.docx_第2页
第2页 / 共16页
面向对象程序设计复习题与参考答案Word文档格式.docx_第3页
第3页 / 共16页
面向对象程序设计复习题与参考答案Word文档格式.docx_第4页
第4页 / 共16页
面向对象程序设计复习题与参考答案Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

面向对象程序设计复习题与参考答案Word文档格式.docx

《面向对象程序设计复习题与参考答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题与参考答案Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

面向对象程序设计复习题与参考答案Word文档格式.docx

则类B是类A的_。

20Java语言中,通常把可能发生异常的方法调用语句放到try块中.并用紧跟其后的_块来捕获和处理异常。

21•多态是指。

22•声明常量时使用修饰符。

23.Java中异常抛出使用保留字。

24•—个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类需来访问和调用。

25•如果类成员前而没有访问权限修饰符,则该类成员具有访问权限。

26.卜•而构造方法是非法的a):

publicintClassA(intone){

•••

}b):

publicClassB(intone,inttv/o){

}c):

ClassC(){

27•程序填空:

publicvoidgetData(){

Stringstr=JoptionPane.shov/lnputDialog(null/,lnput:

M);

if(str.equals(“”){thrownewIOException();

2&

对象称为类的。

29.Java程序的源文件以为扩展名,编译后的文件以为扩展夕“

二、简答题:

仁类和对象的概念和关系是什么?

2•请说明对象声明和对象生成之间的区别,并使用内存状态图举例说明这种区别。

3.this和super两个保留字的意义和作用是?

4•构造器方法有什么特点和作用?

5•保留字throw和throv/s有什么区别?

6•将下而的while循环改写为for循环intcount=1,sum=0;

=30){sum+=count;

count+=3;

7・Java语言编译和执行的过程是?

检查型异常和非检査型异常有何区别?

9•请改造下而的构造方法,使第一个构造方法调用第二个构造方法。

publicClassOne(intalpha){this.alpha=alpha;

this,beta=0;

}publicClassOne(intalpha,intbeta){

this.alpha=alpha;

this.beta=beta;

10.Java有哪几个访问权限修饰符,各起到什么作用?

门•请说明实例方法.类方法和构造器方法的特点和区别。

三、请写出下面的代码段的输出结果:

1.classQ2main{

publicstaticvoidmain(string[]args){

Question1\voq2;

q2=newQuestionl\vo();

q2.init();

q2.increment();

system,out.println(q2・getCount());

classQuestion1\7o{

privateintcount;

publicvoidint(){

count=1;

publicvoidincrement(){

count=count+1;

publicintgetCount(){

returncount;

2.intgradeLevel;

sv/itch(gradeLevel){

case1:

System.out.printC'

Gotothe101"

case2:

System.out.printC'

Goto202”);

break;

case3:

Goto303"

case4:

System.out.printf'

Goto404n);

break;

default:

System.out.printCdefauk11);

如果变MgradeLevel在switch语句之前为以下数值,上述程序代码段执行后,将分别输出什么?

a)2

b)3

c)4

d)5

3.intx;

for(intv/idth=1;

v/idth<

=20,v/idth++){

for(intlength=5,length<

=25,length+=5){

x=width*length;

System.out.print("

"

+x);

System.out.printlnC"

1);

输岀结果为:

4.classMyExceptionlextendsException{

publicMyExceptionl()Q

publicMyExceptionl(Stringnisg){super(msg);

}

publicclassExceptionlestf

publicstaticvoidf()throv/sMyExceptiord{

System.out.printIn(HThe1stlineoff()H);

throv/nev/MyExceptionl(^Exception1:

Originatedinf()"

publicstaticvoidmain(String]]args){

System.out.printIn("

The1stlineofmain()M);

try{

System.out.printIn("

The2ndlineofmain()"

f();

System.out.printIn(HThe3rdlineofmain()"

}catch(MyException1e){

System・out・printin(e・getMessage());

finally{

System.out.printIn(nThe4thlineofmain(门;

System.out.printlnC'

The5thlineofmain()H);

输出结果为:

5.importjava.io.*;

classBase{

Base(){

System.out.println(HBaseO,1);

voidm1(){

System.out.println("

Base.m1()H);

classDerivedextendsBase{

Derived(){

thisC'

default1'

System.out.pnntln(,,Denved()"

Derived(Stringss){

System,out.println(ss);

System.out.println("

Derived.m1()H);

publicclassApplication^

publicstaticvoidmain(Stringargs[]){

Baseb;

b=nev/Derived();

b.m1();

6.classShape{

voiddra\v(){

Shape.dra\v()H);

classCircleextendsShape{voiddraw(){

System.out.pnntln(,,Circle.dra\v(),,);

classSquareextendsShape{voiddraw(){

System・out・println(”Square・draw()”);

publicclassShapes{

publicstaticvoidmain(String[]args){

Shape[]s=newShape[3];

s[O]=nev/Shape();

s[1]=nevvCircle();

s[2]二nevvSquare()

for(inti=0;

i<

3;

i++)

s[i].draw();

7.try{

number=Integer.parselnt(u-30n);

if(number<

0){

thrownewException(“Nonegative”);

catch(NumberFormatExceptione){

System.out.println(“Cannotcoverttointn);

}catch(Exceptione){

System.out.println(aError:

°

+e.getMessage());

}finally{

System.out.println(<

<

DONEM);

classValue{

inti=10;

class7ester{

publicstaticvoidtest(intx){

x=20;

publicstaticvoidtest(Valuev){

v.i=20;

Valuev仁newValue();

intx=10;

Tester,test(x);

Tester.test(v1);

System,out.println(x);

System,out.println(v1.i);

9.classRock{

Rock(){

System.out.println("

CreatingRock11);

Rock(inti){

System.out.println(”CreatingRocknumber11+i);

publicclassSimpleConstructor{

if(i==1)

newRock();

else

newRock⑴;

lassBicycleRegistration{

Bicyclebikel,bike2;

bikel=newBicycle();

bike2=newBicycle(“xxxx”);

bikel.setOv/nerNameCTest"

System.out.println(bikel.getOv/nerName()+"

ownsabicycle.u);

System.out.println(bike2.getOv/nerName()+Malsoov/nsabicycle."

classBicycle{

privateStringownerName;

publicBicycle(){

ov/nerName="

Unknown”;

publicBicycle(Stringname){

ov/nerName=name;

publicStringgetOv/nerName(){returnov/nerName;

publicvoidsetOv/nerName(Stringname){ownerName=name;

输岀结果为:

4.编程题:

1.编写一段Java程序代码,用一个对话在分开的两行中显示两条消息:

“ICanDesign”和“AndICanProgram二

2•编写一个Java程序,对于给定的年份,回答“LeapYea严(闰年)或者"

NotaLeapYear"

(平年)。

如果一个年份能被4整除,但是不能被100整除,它是闰年;

如果一个年份能被100整除,也能被400整除,它也是闰年。

需要定义需为LeapYear的服务提供类

3•编写一个do-while循环以计算正整数中前30个奇数的累加和。

4•编写可以根据用户年龄和身髙给出推荐的体重的的Java程序,利用下面的公式计算岀推荐的体重:

recommendedWeight=(height-100+age/10)*0.9

需要左义需为Height(身髙)的服务提供类,它应该会有可以根据身高得到推荐提供的方法。

5•请按照以下要求写出完整的程序代码(要求能上机编译运行):

1)创建一个抽象类AAbstractBase.该类至少包含一个抽象方法;

2)创建一个类TestClasSt该类继承AAbstractBase,并包含两个构适器方法:

6•泄义一个Vehicle类,类中包含一个Person类型的数据成员owner、一个获得owner值的访问方法和一个设Itowner值的访问方法。

左义VehicleManage个类,该类包含主方法,并在主方法中创建Vehicle类的对彖,并调用其设置owner和获取owner的方法。

参考答案

tl

3.this它代表当前对象名,可用来调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句),在程序中易产生二义性之处,应使用this来指明当前对象;

super:

它引用当前对象的直接父类中的成员,可以用来调用基类中的某一个构造函数(应该为构造函数中的第一条语句,)也可以用来在基类与派生类中有相同成员左义时直接访问父类中被隐藏的父类中成员数据或函数。

4•构造器一般用于对类进行初始化。

其特点如下:

a)其泄义形式跟类中其他方法基本类似

b)英方法名与类名完全相同(包括大小写)。

c)其在对象被创建时自动被Java调用,而无需用户干预

d)其没有返回值类型。

e)一个类可以泄义多个构造方法

5.throv/用于抛出一个异常,throws则是用于声明未必处理的运行时异常。

6.sum=0;

for(intcount=1;

count<

=30;

count+=3)

sum+=count;

7.Java编译器将以.java为后缀需的Java源代码文件编译成以.class结尾的字节码文件。

Java的虚拟机

再根据不同的软硬件平台将.class文件翻译成机器码文件予以执行。

因为编程错误而导致的异常,或者是不能期望程序捕获的异常(解除引用一个空指针,数组越界,除零,等等),为了使开发人员免于处理这些异常,一些异常被命名为非检査型异常(即那些继承自RuntimeException的异常)并且不需要进行声明,而检査型异常如果没有捕获则需在方法头部进行声明。

9.publicClassOne(intalpha){

this(alpha,O);

jpublicClassOne(intalpha,intbeta){

10.public:

表明该成员变虽:

和方法是共有的,能在任何情况下被访问。

protected:

必须在同一包中或者该类的导出类中才能被访问:

private:

只能在本类中访问;

缺省的为包访问权限,在同一个包中可以访问

"

•类方法前而有static保留字,英不需要创建类的实例,通过类名即可访问;

实例方法则为普通方法,其需要创建类的实例后通过实例访问:

构造方法的名称与类名完全相同,其在创建类的实例是自动执行。

三.请写出下面的代码段的输出结果:

1.3

2.

(a)Goto202

(b)Goto303

Goto404

(c)Goto404

(d)default

3.510152025

10

20

30

40

50

15

45

60

75

80

100

25

125

4.The1stlineofmain()

The2ndlineofmain()The1stlineoff()

Exception1:

0riginatedinf()The4thlineofmain()

The5thlineofmain()5・Base()

default

Derived()

Derived.m1()

6.Shape.draw()

Circle.dra\v()

Square.drav/()

7.Error:

Nonegative

DONE

8.10

9.CreatingRocknumber0

CreatingRock

CreatingRocknumber2

10.Testownsabicycle・

xxxxalsoownsabicycle・

四、编程题:

1.importjavax.swing』;

publicclassTest{

JOptionPane.shov/MessageDialogCnuU/'

lCanDesign\nAndICanProgram"

2.publicclasslest{

publicstaticvoidmain(String[]args){

LeapYearly二nevvLeapY?

ar();

System.out.println(puteLeapYear(1998));

System.out.println(puteLeapYear(1900));

System.out.println(puteLeapYear(2000));

classLeapYearf

publicbooleancomputeLeapYear(intyear){

if(year%4==0&

year%100!

=0)returntrue;

if(year%100==0&

year%400==0)returntrue;

returnfalse;

3.publicclasslest{

publicstaticvoidmain(String]]args){

intsum=0,i=0;

do{

sum=(i*2+1);

i++;

}v/hile(i<

=30);

System・out・println(sum);

4.publicclassTest{

publicstaticvoidmain(String[]args){Weight\v1=newWeight。

System.out.println(w1.getRecommendedWeight(30,170));

classWeighty

publicdoublegetRecommendedWeight(intage,intheight){return(height-100+age/10)*0.9;

5.publicclassTest{

Testclasst1,t2;

t1=nev/TestClass();

t1.testFun();

t2=nev/TestClass(10);

t2.testFun();

abstractclassAAbstractBase{abstractvoidtestFun();

classTestClassextendsAAbstractBase{inti;

7estClass(){this(O);

}7estClass(inti){this.i=i;

voidtestFun(){

System・out.println(i);

6.publicclassVehicleManage{publicstaticvoidmain(String[]args){Vehiclev1=newVehicle();

Personp1,p2;

p仁newPerson();

v1.setOv/ner(p1);

p2=v1.getO\vner();

classVehicle{

Personowner;

publicvoidsetO\vner(Personp1){owner=p1;

publicPersonget0\7ner(){returnowner;

classPersonf

Stringov/nerName;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1