姓名:_________________ 联系方式:________________________
JAVA测试题(满分100分,时间80分钟)
一。选择题(单选,24题,每题3分)
1、被声明为private、protected及public的类成员,在类外部: A、只能访问声明为public的成员
B、只可能访问到声明为protected和public的成员 C、都可以访问 D、都不能访问
2、关于抽象方法,下列描述正确的是( ): A、可以有方法体
B、可以出现在非抽象类中 C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
3、下列那个声明是正确的? A、 abstract final class Hh {} B、 abstract private move(){} C、 protected private number; D、 public abstract class Car{}
4、关于对象成员占用内存的说法哪个正确?( ) A、同一个类的对象共用同一段内存
B、同一个类的对象是用不同的内存段,但静态成员共享相同的内存空间 C、对象的方法不占用内存 D、以上都不对
5、关于this和super,下列说法正确的是( ) A、都可以在main()方法中使用 B、都是指一个内存地址 C、不能用在main()方法中 D、意义相同
6、关于接口下列哪个说法正确?( ) A、实现一个接口必须实现接口的所有方法
B、一个类只能实现一个借口 C、接口间不能有继承关系 D、接口和抽象类是一回事
7、下列那个说法正确:( )
A、子类只能覆盖父类的方法,而不能重载 B、子类只能重载父类的方法,而不能覆盖
C、子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法 D、重载就是一个类中有多个同名但有不同形参和方法体的方法
8、认真阅读下段例程, 1) class Super{
2) public float getNum(){return 3.0f;} 3) } 4)
5) public class Sub extends Super{ 6) 7) }
下面语句,哪句放在第6行会引起编译错误:( ) A. public float getNum(){return 4.0f;} B. public void getNum(){}
C. public void getNum(double d){}
D. public double getNum(float d){return 4.0d;}
9、关于main()方法的说法哪个正确?( ) A、main()方法只能放在公共类中
B、main()方法的头定义可以根据情况任意更改 C、一个类中可以没有main()方法
D、所有对象的创建都必须放在main()方法中
10、关于内部类的说法哪个正确?( ) A、内部类不能使用外部类的私有属性和方法 B、内部类可以广泛使用,不受任何限制 C、内部类可以单独编译
D、内部类可以使用外部类的私有属性和方法
11、在Q2_2类哪些是合法的覆盖(override)? ( )
public clsss Q2_1
{
public void method(int k){}; }
class Q2_2 extends Q2_1 {
____ }
A、public void method(int i){}; B、public void method(int j,int k){} C、public float method(int k); D、private void method(int k);
12、下面的类中,哪些不是合法的重载(overload)? public class Q1 {
public void method(int i){} }
A、private void method(int i,int j){} B、public void method(int k){} C、private float method(float f){} D、public String method(int i,int j){} E、public float method(float f){}
13、看下面的代码,选择正确的结论 ( ) class SuperClass {
int i=8 ; SuperClass() {
add(1); }
void add(int j) { i=i+j; } }
class SubClass extends SuperClass {
void add(int j) {
i=i+2*j; }
)( }
public class MainClass {
public static void main(String args[]) {
SuperClass a=new SubClass(); System.out.println(a.i); } }
A 、编译时出现错误 B 、运行时出现错误 C、输出 10 D、输出 8
14、下面哪些是short型的取值范围( ) A. –2^7 – 2^7-1 B. 0 – 2^16-1 C. 2^15 – 2^15-1 D. 2^31 – 2^31-1
15、关于方法的形参,下列说法正确的是:( ) A、必须定义多个形参 B、至少有一个 C、可以没有
D、只能是简单变量
16、阅读以下例程, int i=1,j=10; do{
if(i++>--j) continue; }while(i<5);
此段程序执行后,i和j的值是( ) A. i=6 j=5 B. B.i=5 j=5 C. i=6 j=4 D. i=5 j=6 E. i=6 j=6
17 、当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局管理器。()
A. BorderLayout B. FlowLayout
C. CardLayout D. GridLayout
18、下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的 ( ) A. transient B. synchronized C. serialize D. static
19、 题目:下面关于变量及其范围的陈述哪些是不对的。( ) A. 实例变量是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建 D. 局部变量在使用前必须被初始化。
20 、阅读程序,回答问题: public class Foo{
public static void main(String args[]){ try{return;}
finally{ System.out.println(\ } }
此段程序的输出是( ) A. nothing B. Finally
C. compile error
21、在Java API文档中下面的哪些部分不被包括在内 ( )
A. 类及用途的描述 B. 父类的方法的列表 C. 成员变量的列表 D. 类层次
22、下面那个变量声明不正确的: ( ) A、 I_love_Java B、 $20 C、 _a22