`

2008-2009学年第 1 学期期末考试试题( B 卷)(1)

阅读更多

1、选择题(20分)

    本题共有10个小题,每个小题都有4个答案,但只有1个是正确的,请把正确答案的代码填入小题后的空格中,每个小题2分,共20分。

1下列不属于面向对象编程的三个特征的是(      )。

A.封装     B.指针操作      C.多态性       D.继承

2向容器中添加新组件的方法是(           )。

A.add( )    B.insert( )    C.fill( )    D.set ( )

3下列标识符中哪项是不合法的?(       )。

ABigMeaninglessName    B$int     C1st      D$1

4关于容器类(container)下列说法正确的是(        )。

A.容器本身不是一个组件      B.是component类的子类

C.不具有构件的所有性质      D.不能在容器中放置其他组件或容器

5Applet的生命周期中,下列哪个方法使Applet成为激活状态?(          )

A.destroy( )   B.start( )   C.init ( )    D.stop( )

6下列哪个选项不是inputStream类中的方法?(         )

A.Public abstract int read(  )throws IOException

B.Public final void writeint(int v)throws IOException

C.Public void close(  ) throws IOException

D.Public int available(  ) throws IOException

7Frame 的默认的布局管理器是下列哪一个?(         )

AFlowLayout   BBorderLayout  CGridLayout   DCardLayout

8Java 程序的执行过程中用到一套JDK 工具,其中javaexe是指(         )

AJava 文档生成器  B. Java 解释器  CJava 编译器 DJava 类分解器

9 事件处理机制能够让图形界面响应用户的操作,主要包括(         )。

A、事件       B 、事件处理     C、事件源      D、以上都是

10 java 语言中提供了用于网络工作的类和接口的包是(        )。

Ajava.net             Bjava.network

Cjava.internet        Djava.connect

 2、填空题(20分)

    本题共有10个小题,请把合适的内容填到每个小题的空白处,每小题2分,共20分。

1)在Java中有一种叫作         的特殊方法,我们在程序中用它来对类的对象成员进行初始化。

2java 有两类应用程序:Java Application                         

3)事件源例化后,必须进行授权注册该事件                     

4)如果类包个或多个abstract法,它就是一                类。

5设有数组定义:int MyIntArray[  ]={10203040506070}

则执行F面几个语句后的输出结果是___   ____

  int s=0

  for(int i=0;  i<MyIntArray.1engthi++)

  s+=MyIntArray[i]

  System.out.println(s)

6Java Appliction程序编写执行可分为编写源                 解释执行

7)一个Applet标记中,必须出现的属性有                     WIDTHHEIGTH

8java 语言通过接口支持                   继承,是类继承具有更灵活的扩展性。

9数据报通信协议UDP 是无连接协议,对每个数据报是一个独立的信息传输单位,包括完整的源地址和                       

10)用static修饰的方法,称为               方法。它们不是对象的方法,而是整个类的方法。

3、判断题(10分)

    本题共有10个小题,请判断说法的正误,正确的说法在小题后括号中打√号,否则打×号,每个小题1分,共10分。

1Java 仅支持类间的多重继承。                               (        )

2)类的私有属性和私有方法不可以被其子类访问。                (        )

3)重载的方法不可以通过它们的返回值类型的不同来区分。         (        )

4) 在父类中声明为 final 的方法,不可以在其子类中被重新定义(覆盖)(      )

5) 接口中所有方法不都为抽象方法。                                   (       )

6) 子类的类成员变量不能与其父类的类成员变量同名。                (        )

7)类头定义包含的四个部分,分别为:访问控制修饰符、类名说明、父类名说明和接口名的说明,它们中的任何一个都是不能缺少的。                         (         )

8)方法可以没有返回值,或有一个返回值,也可以有多个返回值。      (         )

9Java 源程序的文件名必须和主类的类名相同。                    (         )

10Java语言中的接口可以继承,一个接口通过关键字extends可以继承另一个接口。(     )

4、读程序题(每小题6分,本题共30

1)阅读程序,给出程序的运行结果。

public class ClassA

 {

  public String a;

}

class ClassB extends ClassA 

{

  public String b="hello";

  public static void main(String args[]) 

{

      ClassB bb=new ClassB();

      bb.a=" world";     

      System.out.println(bb.b+bb.a);

  }

}

 

 

2有如下源程序:                

import  java.applet.Applet ;

import  java.awt.Graphics ;

public class MyApplet_param extends Applet  //定义主类

{

   private  String  s = "" ;    //用于接收HTML参数的程序变量

   private  int  x ;

   private  int  y ;

   public void init ( )

   {

    s = getParameter ( "vstring" ) ;//接收HMTL中传递的参数

    x = Integer.parseInt ( getParameter ( "x" ) ) ;

    y = Integer.parseInt ( getParameter ( "y" ) ) ;

   }

   public void paint ( Graphics  g )

   {

    if(s != null)

        g.drawString (s,x,y);

   }

}

对应的超文本文件为:

<HTML>

 <BODY>

  <APPLET  code = "MyApplet_param.class"  height=200  width = 300>

   <PARAM  name = vstring  value = "我是来自HTML的参数">

   <PARAM  name = x        value = 50>

   <PARAM  name = y        value = 100>

  </APPLET>

 </BODY>

</HTML>

问:上述JAVA小程序的运行结果是什么?

 

 

 

3)有如下源程序:                           

import java.awt.*;

import java.applet.*;

public class Test54 extends Applet{

B b;

public void init( ){

b=new B( 'f', 87.6f, 69.1f);

}

public void paint(Graphics g){

g.drawString("序号 "+"性别 "+"成绩1 "+"成绩2 ",20,50);

b.Print(g);

}

}

class A{

static int n=100;

char ch;

A( ) { n++; }

A( char c){ this( ); ch=c; }

void Print(Graphics g){

g.drawString("  "+n+"  "+ch,20,70);

}

}

class B extends A{

float s1, s2;

B(float r1,float r2){ s1=r1; s2=r2; }

B( char c, float r1, float r2){

super(c);

s1=r1; s2=r2;

}

void Print(Graphics g){

super.Print(g);

g.drawString("  "+s1+"  "+s2,40,70);

}

}

问题: 该程序的输出是什么?

 

 

 

 

 

4现有类说明如下:         

class A{

int x=20;

int GetA(){return x;}

}

class B extends A{

int x=200;

int GetB(return x;}

}

问题:

1)B是否能继承类A的属性x?。

2)b是类B的对象,则b.GetB()的返回值是什么?

3)b是类B的对象,则b.GetA()的返回值是什么?

4)A和类B都定义了x属性,这种现象称为什么?

 

 

 

 

 

5)阅读以下程序给出程序的功能,并给出一个水仙花数。

public class Narcissus

{

public static void main(String args[])

{

    int i,j,k,n=150,m=1;

 

    while(n<1000)

{

    i = n/100;

    j = (n-i*100)/10;

    k = n%10;

    if((Math.pow(i,3) + Math.pow(j,3) + Math.pow(k,3)) == n)

  System.out.println("找到第"+ m++ + "个水仙花数:" + n);

    n++;

    }

}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics