老师发了份JAVA试卷,但没给答案,大家帮忙看看有没错.谢谢.
一、选择题
1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是 ( B )
A. 类 B. 对象 C. 函数体 D. 数据块
2.类的构造函数被自动调用执行的情况是在定义该类的 ( C )
A. 成员函数时 B. 数据成员时
C. 对象时 D. 构造函数时
3.假定一个类的构造函数为A ( int aa, int bb) { a = aa; b = bb; },则执行A x=new A(4,5);语法后,x.a和x.b的值分别为( A )
A.4和5 B.5和4 C.4和20 D.20和5
4.假定AB为一个类,则执行AB x=new AB( );语句时将自动调用该类的( B )
A.有参构造函数 B.无参构造函数 C.其他成员函数 D.重载函数
5. 实现运行时的多态性用( A )
A.重载方法 B.构造方法 C.非重载方法 D.抽象方法
6.在Java语言中,如果你有下面的类定义:
abstract class Shape {
abstract void draw();
}
class Square extends Shape{ }
如果你试图编译上面的代码会发生(D)。(选择一项)
A.一切成功编译
B.Shape可以编译Square不能编译
C.Square可以编译Shape不能编译
D.Shape.Square都不能编译
7. int[] my_Array;
my_Array=new int[5];
for(int count=0;count <=5;count++)
System.out.println(my_Array[count]);
以上Java代码运行的结果是(D)。(选择一项)
A.将1,2,3,4,5输出到屏幕
B.将0,1,2,3,4输出到屏幕
C.将0,1,2,3,4,5输出到屏幕
D.将出现运行时异常
8.下面描述( BC )是正确的。(选择两项)
A.Java的源程序必须以“.java”或“.jav”扩展名保存
B. Java VM可以是软件也可以是硬件
C.Java使用解释器执行代码
D.用高级语言编写的代码可以让计算机理解并执行它们
9.在Java中,关键字( A )使类不能派生出子类。
A.final B.public C.private D.protected
10.在JAVA编程中,Java编译器会将java程序转换为( B )。
A.字节码 B.可执行代码 C.机器代码 D.以上所有选项都不正确
11.在JAVA编程中,以下( A )命令用来执行java类文件。
A.Javac B.java C.appletviewer D.以上所有选项都不正确
12.在Java中,根据你的理解,下列方法( ABD )可能是类Orange的构造函数。(选择三项)
A.Orange(){…} B.Orange(…){…}
C.Public void Orange(){…} D.Public Orange(){…}
E.Public OrangeConstuctor(){…}
13.JAVA中,使用( C )修饰符时,一个类能被同一包或不同包中的其他类访问。
A.private B.protected C.public D.final
14.在JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()”,该语句( C )。
A.调用类Worker中定义的super( )方法
B.调用类Person中定义的super( )方法
C.调用类Person的构造函数
D.语法错误
15.在JAVA中,类Animal中的方法printA( )定义如下:
public void printA( ){
int a=10;
int result=10%3;
System.out.println(result);
在类Dog中方法printA( )定义如下:
public void printA( ){
int a=10;
Systme.out.println(a/3);
}
Dog类的定义如下:
Class Dog extends Animal{…}
若有语句:
Animal animal=new Dog( );
animal.printA( );
则这段代码输出为( B )。
A.0 B.3.3333 C.2 D.3
16.在JAVA语言中,下面关于类的描述正确的是( B )。
A.一个子类可以有多个父类
B.一个父类可以有多个子类
C.子类可以使用父类的所有
D.子类一定比父类有更多的成员方法
17.JAVA是一种完全面向( B )的语言。
A.过程 B.对象 C.组件 D.服务
18.JAVA中,实现继承的关键字是( C )。
A.Public B.class C.extends D.implements
19.在JAVA语言中,不能被修改的变量是用关键字( A )来修饰的。
A.Final B.class C.system D.void
20.在JAVA中,关于捕获错误的语法try-catch-finally的下列描述正确的是(AD)。(选 择两项)
A.try-catch必须配对使用 B.try可以单独使用
C.try-finally可以配对使用,finally也可单独使用
D.在try-catch后如果定义了finally,则finally肯定会执行
21.Java application中的主类需包含main方法,main方法的返回类型是( D )。
A.intB.floatC.doubleD.void
22.有以下程序片段,不能插入到第1行的是( )。
1.
2. class A{
3. //do sth
4. }
A.public class MainClass{ }B.int x=1;
C.class ANotherClass{ }D.import java.util.*;
23.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( B )。
A.隐藏 B.覆盖 C.重载 D.Java不支持此特性
24.下面可作为public void aMethod( ){...}重载方法的是( C )。
A.void aMethod( ){...} B.public int aMethod(){...}
C.public void aMethod ( ){...} D.public int aMethod ( int m){...}
25.类Test1、Test2定义如下:
1.public class Test1
2.{ public float aMethod(float a,float b) throws
3. IOException { }
4.}
5.public class Test2 extends Test1{
6.
7.}
以下方法不能插入到第6行的是( A )。
A.float aMethod(float a,float b){ }
B.public int aMethod(int a,int b)throws Exception{ }
C.public float aMethod(float p,float q){ }
D.public int aMethod(int a,int b)throws IOException{ }
26.设有下面两个类的定义:
class Person { class Student extends Person {
long id; // 身份证号 int score; // 入学总分
String name; // 姓名 int getScore(){
} return score; }
}
则类Person和类Student的关系是( B )。
A.包含关系B.继承关系
C.关联关系D.上述类定义有语法错误
27.假设A类有如下定义:
class A
{int i;
static String s;
void method1() { }
static void method2() { }
}
设a是A类的一个实例,下列语句调用错误的是( C )。
A.System.out.println(a.i);B.a.method1(); C.A.method1(); D.A.method2()
28.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .java B. .class C. .html D. .exe
29.不允许作为类及类成员的访问控制符的是( C )。
A. public B. private C. static D. protected
30.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( )
二、判断题:
1、Java有两类程序:Java Application和Java Applet,其中Java Applet程序由嵌入到浏览器中的解释器解释运行。 ( T )
2、Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( T )
3、无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一名为A的字节码文件。 ( F )
4、在不同的软硬件平台上,Java的各种数据类型所占用的内存长度不同,因此程序的可移性不强。
错了请给解释,帮下小弟.
[解决办法]
1. A?(对象只是一个类的实例)?
6. B(abstract是抽象类、抽象方法可以不用实现的)
8. CD
10. A(JVM执行的是字节码,而非可执行代码,28题竟然有)
11. B(javac是用来编译Java代码的)
15. D (int类型的相除得到的还是int型)
22. B(AC放在第1行A成为内部类,D为导入语句)
23. C(好像没有“覆盖”这个概念)?
24. D(C和题目的方法一样了)
26. 代码有问题,return怎么放到方法外面了?
判断题:
4. F(还没做完啊?)
[解决办法]
2, C,类的构造函数被自动调用执行的情况是在定义该类的不是(对象时)吗?
6, B,但我也不确定抽象类能被执行不。???
7, D,显示了ArrayIndexOutOfBoundsException
8, BC 感觉Java VM可以用硬件实现,D是不是有个可移植性的问题
10,A 在JAVA编程中,Java编译器会将java程序转换为(字节码)
11,B 同楼上
15,D 执行Dog类里的整数除法int 10/3,结果应该整数3
22,B 类的外面不能定义函数和如int x=1;
23,C 但感觉重载区别应该靠方法的形式参数个数、类型或顺序的不同
“传回的值也可以不相同”这句说的摹能量可????
24,D 楼主,C和题目一样啊,没区别就别重载了,呵呵
26,B 方法中return楼主是不是打错了
29,没看明白地说,感觉B对???
判断1和4不明白,望高手们解释一下???