JAVA面向对象程序设计(期末考试试题及答案)

  • 格式:pdf
  • 大小:197.50 KB
  • 文档页数:9

JAVA面向对象面向对象程序设计程序设计(期末考试试题及答案)

一、单选择题

1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文

件的扩展名为(B)。

A.javaB..class

C.htmlD..exe

2、不允许作为类及类成员的访问控制符的是(C)。

A.publicB.private

C.staticD.Protected

3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。

A.3B.3.5

C.4D.5

4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类

名AB作为前缀就可以调用它,该方法头的形式为(A)。

A.staticvoidmethod()B.publicvoidmethod()

C.finalvoidmethod()D.abstractvoidmethod()

5、下列属于容器的组件有:(B)

A.JButtonB.JPane

C.CanvasD.JTextArea

6、void的含义:(C)

A.方法体为空B.定义的方法没有形参

C.定义的方法没有返回值D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)

A.异常是程序编写过程中代码的语法错误

B.异常是程序编写过程中代码的逻辑错误

C.异常出现后程序的运行马上中止

D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)

A.long

B.sizeof

C.instanceof

D.Const

9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?

(D)

A.ActionListener

B.MouseListener

C.MouseMotionListern

D.ItemListener

10、以下有关类的继承的叙述中,正确的是:(D)

A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性

B.子类只能继承父类的方法,不能继承父类的属性

C.子类只能继承父类的非私有属性,不能继承父类的方法

D.子类不能继承父类的私有属性

二、填空题

1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、

编译生成字节码和解释运行字节码。

2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码

占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。

3、设x=2,则表达式(x++)/3的值是0。

4、若x=5,y=10,则x=y的逻辑值分别为true和false。

5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的

方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类

重新定义的方法。

6、创建一个名为MyPackage的包的语句是packageMyPackage;,

该语句应该放在程序的位置为:应该在程序第一句。

7、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。

ints=0;

for(inti=0;i

if(i%2==1)

s+=MyIntArray[i];

System.out.println(s);

8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。

三、写出下面程序的运行结果

1、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{

ABs=newAB("Hello!","IloveJAVA.");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

publicAB(Stringstr1,Stringstr2)

{

s1=str1;

s2=str2;

}

publicStringtoString()

{

returns1+s2;

}

}

运行结果:Hello!IloveJAVA.2、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i

if(a[i]%3==0)s+=a[i];

System.out.println("s="+s);

}

}

运行结果:s=180

3、importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{

System.out.println("a="+a+"\nb="+b);

}

}

classSubClassextendsSuperClass

{intc;

SubClass(intaa,intbb,intcc)

{

super(aa,bb);

c=cc;

}

}

classSubSubClassextendsSubClass

{inta;

SubSubClass(intaa,intbb,intcc)

{super(aa,bb,cc);

A=aa+bb+cc;}

voidshow()

{

System.out.println("a="+a+"\nb="+b+"\nc="+c);

}

}

运行结果:a=60

b=20

c=30

4、publicclassTest{

publicstaticvoidmain(String[]args){

intx;

inta[]={0,0,0,0,0,0};

calculate(a,a[5]);

System.out.println("thevalueofa[0]is"+a[0]);

System.out.println("thevalueisa[5]is"+a[5]);

}

staticintcalculate(intx[],inty){

for(inti=1;i

if(y

x[i]=x[i-1]+1;

returnx[0];

}

}

程序的输出结果为:

thevalueofa[0]is0

thevalueisa[5]is5

四、简答题(每题5分,共15分)

1、简单叙述如何使一个Java应用程序运行起来,在控制台方式下,使用什么命

令编译、运行程序。2、简要叙述什么是访问控制符,列出Java中的访问控制符,并说明各个访问控

制符的控制权限。

3、Java从JDK1.1开始引入了委托事件模型,简述其所采用的事件处理机制。

五、编写程序(每题10分,共20分)

1、设计一个Circle类,该类包括的属性有:圆心坐标和圆的半径;包括的方法

有:设置和获取圆的坐标的方法,设置和获取半径的方法,计算圆的面积的方法。

另外编写一个Test类,测试Circle类。

答案:

publicclassText{

publicstaticvoidmain(Stringargs[]){

Circlec=newCircle(2,5,6);

c.setCoordinate(2,3);

c.getX();

c.getY();

c.getR();

c.countV();

}

}

classCircle{

privateintx;

privateinty;

privateintr;

privatedoublev;publicCircle(intx,inty,intr){

this.x=x;

this.y=y;

this.r=r;

}

publicintgetX(){

System.out.println("x的值:"+x);

returnx;

}

publicintgetY(){

System.out.println("y的值:"+y);

returny;

}

publicintgetR(){

System.out.println("r的值:"+r);

returnr;

}

publicvoidsetCoordinate(intx,inty){

this.x=x;

this.y=y;

}

publicvoidsetR(intr){

this.r=r;

}

publicdoublecountV(){

v=2*2.1415926*r*r;

System.out.println("v的值:"+v);returnv;

}

}

2、编写一个Applet程序,创建一个空标签以及一个标识为“开始”的按钮,当鼠

标按下“开始”按钮时,就在标签上显示出“你好,这是一个Applet程序”字样的标

签。Java程序如下:

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

publicclassTest3extendsJFrameimplementsActionListener{

JButtonjbStart=newJButton("开始");

JButtonjbStop=newJButton("停止");

JLabeljl=newJLabel("",JLabel.CENTER);

Test3(){

super("测试");

setLayout(null);

jbStart.setBounds(50,20,70,20);

jbStop.setBounds(170,20,70,20);

jl.setBounds(50,60,200,20);

add(jbStart);add(jbStop);add(jl);

jbStart.addActionListener(this);

jbStop.addActionListener(this);

setResizable(false);

setSize(300,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);