Java期末复习题
一、选择题:
1所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是  (B)   
A.        B.  对象            C.  函数体                D.  数据块   
2、定义一个不能被继承的名为Abc的类的正确方法是(E)
A.class Abc{}                    B.native class Abc{}           
C.abstract final class Abc{}          D.class Abc{final;}        Efinal class Abc{}
3、若要生成ClassA类的一个对象a,以下书写正确的是(A)
A.ClassA  a=new ClassA();       B.ClassA  a=new Class();
C.a=new ClassA();           D.ClassA  a=ClassA();
4 类的构造函数被自动调用执行的情况是在定义该类的  (c)   
A.  成员函数时   B.  数据成员时  C.  对象时         D.  构造函数时
5、编译运行下面程序时有何种结果?请选择一个正确的答案(A)
class Test{
  public static void main(){
    System.out.println("hello");
  }
}
A.程序不能编译,因为main()方法定义不正确。
B.程序能编译,但不能运行,因为class未声明为public的。
C.程序能无错地编译并运行,但运行时将产生异常。
D.程序运行时显示“hello”。
6、关于抽象方法的说法正确的一项是(A
A、可以有方法体                            B、可以出现在非抽象类中               
C、抽象方法是没有方法体的方法            D、抽象类中的方法都是抽象方法
7 假定AB为一个类,则执行AB  x=new  AB( );语句时将自动调用该类的(B) 
A.有形参构造函数   B.无形参构造函数    C.其他成员函数      D.重载函数 
8、编译并运行如下程序后,结果是什么?请在给出的选项中选择出正确的答案(E)
class Array{
  public static void main(String[] args){
    int length=100;
    int[] d=new int[length];
    for(int index=0;index<length;index++)
      System.out.println(d[index]);
  }
}
A.因为int[]数组声明不正确,程序不能被编译。
B.程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常。
C.程序将显示数字0到99,然后将抛出一个ArrayIndexOutOfBoundsException异常。
D.程序被编译,但println()方法将抛出一个NoSuchMethodException异常。
E.程序正常运行,并显示1000
9、下列关于接口的说法正确的是哪一项(D)
A.接口与抽象类是相通的概念             B.实现一个接口必须实现 接口的所有方法
C.接口之间不能有继承关系        D.一个类可实现多个接口
10  实现运行时的多态性用(A) 
A.重载方法          B.构造方法          C.非重载方法            D.抽象方法
11、哪一种布局管理器是从上到下、从左到右安排组件,当移动到下一行时是居中的(B)
A.BorderLayout        BFlowLayout          C.GridLayout
D.CardLayout                          E.GridBagLayout
12、下列对继承的说法正确的一项是(B)
A.子类能继承父类的所有方法和状态      B.子类能继承父类的非私有方法和状态
C.子类只能继承父类的public方法和状态  D.子类只能继承父类的方法,而不能继承状态
13Java语言中,如果你有下面的类定义:
abstract  class  Shape  {
abstract  void  draw(); }
class  Square  extends  Shape{  }
如果你试图编译上面的代码会发生(B)
A 一切成功编译
B Shape可以编译Square不能编译
C Square可以编译Shape不能编译
D ShapeSquare都不能编译
14、下面代码是做什么的(E)
JTextField tf=new JTextField(30);
A.代码不合法。在JTextField中,没有这样的构造方法
B.创建了一个30行的JTextField对象,但没进行初始化,它是空的。
C.创建了一个30列的JTextField对象,但没进行初始化,它是空的。
D.创建一个有30行文本的JTextField对象。
E.创建一个有30列文本的JTextField对象。
15、构造方法何时被调用B
A、类定义时                            B、创建对象
C、调用方法时                            D、使用对象的变量时
16 int[]  my_Array;
my_Array=new  int[5];
for(int  count=0;count <=5;count++)
System.out.println(my_Array[count]);
以上Java代码运行的结果是(d)
A 12345输出到屏幕          B 01234输出到屏幕
C.将012345输出到屏幕      D.将出现运行时异常
17、给出如下代码:
class Test{
  private int m;
  public static void fun() {
    //
  }
}
如何使成员变量m 被函数fun()直接访问?(C)
A、将private int m 改为protected int m        B、将private int m 改为 public int m
C、将private int m 改为 static int m            D、将private int m 改为 int m
18、下面对形参的说法中哪一项是正确的(C)
A.必须有两个                            B.至少有一个
C.可以没有                                D.至少有两个
19JAVA编程中,Java编译器会将java程序转换为(A)
A 字节码     B.可执行代码      C.机器代码      D.以上所有选项都不正确
java接口有没有构造方法20下面的表达式中正确的是( b  )
A.String s=″你好;int i=3;s+=i;    B.String s=″你好;int i=3;if(i==s){s+=i};
C.String s=″你好;int i=3;s-=i;      D.String s=″你好int i=3;s=i+;
21、下列说法中正确的一项是(D)
A.不需要定义类就能创建对象                B.对象中必须有简单变量
C.属性必须是简单变量                    D.属性可以是简单变量,也可以是一个对象
22JAVA编程中,以下(B)命令用来执行java类文件。
A Javac      Bjava    Cappletviewer      D.以上所有选项都不正确
23、下列语句片段
int a=10,b=4,c=20,d=6;
System.out.println(a++*b+c*--d);
的结果为(C)
A.144               B.28
C.140               D.不能执行
24、下列说法哪一个是正确的(A)
A.类是变量和方法的集合体
B.数组是无序数据的集合
C.抽象类可以实例化
D.类成员数据必须是共有的
25JAVA中,使用(C)修饰符时,一个类能被同一包或不同包中的其他类访问。
A private          Bprotected          Cpublic            Dfinal
26、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C
Aprotected            Bstatic                Cprivate        Dpublic
27、关于对象成员占用内存的说法哪一项是正确(B)
A.同一个类的对象公用一段内存
B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上说法都不对
28JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句super()”,该语句(C)
A.调用类Worker中定义的super(  )方法    B 调用类Person中定义的super(  )方法
C 调用类Person的构造函数                D 语法错误
29、当方法遇到异常又不知如何处理时,下列哪种说法是正确的(B)
A.捕获异常             B.抛出异常
C.声明异常             D.嵌套异常
30、执行下面的赋值语句后,a的值为(B)
    A=Float.valueOf(“12.34”).floatValue();
A.a=”12.34”                            Ba=12.34           
C.a=1234                              D.a=12
31JAVA语言中,下面关于类的描述正确的是(B)
A.一个子类可以有多个父类        B 一个父类可以有多个子类
C.子类可以使用父类的所有          D 子类一定比父类有更多的成员方法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。