大一Java复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、熟练掌握以下基本基本概念:
1.Java虚拟机
2.类和对象、封装
3.构造方法
4.继承
5.接口
6.多态性
7.方法重载和方法重写
8.抽象类
9.异常
二、单选题
1. Java具有跨平台的特点,负责解释和执行字节码文件的是(B)。
A)垃圾自动回收器B)Java虚拟机
C)Java编译器D)多线程机制
2. Java中的数据类型分为基本类型和引用类型,下面哪个类型不属于引用类型
( C )?
A)int[] B)Integer C)char D)String
3.下面哪个赋值语句是错误的?( B )
A)int i = 100; B)float f = 100.0;
C)String s = “Hello world”; D)char c = ‘\123’;
4.关于类和对象的叙述正确的是( A )。
A)Java中的类分为两大部分:系统定义的类和用户自定义的类
B)类的静态属性和全局变量的概念完全一样,只是表达形式不同
C)一个类至少要有一个属性和一个方法
D)类是对象的实例化
5.下列关键字中可作为类的修饰符是( C )。
A) private B) static C) abstract D) protected
6. 设B为已定义的类名,下面声明类B的对象b的语句中正确的是( D )。
A) float B b; B) public B b=B();
C) B b=new int(); D) B b=new B();
7. Object类在哪个包中? ( D )
A) java.util B) java.io C) java.awt D) ng
8.在异常处理时,释放资源、关闭文件或关闭数据库等的操作一般是在( C )部分中完成。
A)try子句 B)catch子句
C)finally子句 D)throw子句
9. 下面哪一项不是合法的Java程序注释?( C )
A)/** comment */ B)/* comment */
C)/* comment D)// comment
10.设有下面两个类的定义:
class Door { class House {
//……Door door;
} //……
}
则类Door和类House间的关系是( A )。
A)包含关系 B)继承关系
C)定义错误 D)实现关系
11.设有下面两个类的定义:
class Animal { class Dog extends Animal {
//……//……
} }
则类Animal和类Dog之间的关系是( B )。
A)包含关系 B)继承关系
C)定义错误 D)实现关系
12.给出下列代码,如何使成员变量m能被方法fun直接访问?( C )
class Test
{ private int m;
public static void fun(){//… }
}
A) 将private int m 改为protected int m
B) 将private int m 改为public int m
C) 将private int m 改为static private int m
D) 不用修改就可直接访问
13. 设IntA是一个接口,SubA类是一个实现了IntA的类,下列哪个实例创建语句是正确的?( D )
A)SubA s1=new IntA();B) SubA s1=new Object();
C) IntA a1=new IntA();D)IntA a1=new SubA();
14. 给出下面的代码
class Person {
String name,department;
public void printValue(){
System.out.println("name is "+name);
System.out.println("department is "+department);
}
}
public class Teacher extends Person {
int salary;
public void printValue(){
// 完成父类代码中printValue()相同的工作
System.out.println("salary is "+salary);
}
}
下面的哪个表达式可以加入到注释部分的横线处? ( D )
A. printValue();
B. this.printValue();
C. person.printValue();
D. super.printValue();
15. 为了区分重载多态中同名的不同方法,要求( A )。
A)采用不同的形式参数列表B) 返回值类型不同
C)调用时用类名或对象名做前缀D) 参数名不同
16.已知:
class C {
public static void a() {/*代码*/} //本题要求掌握static关键字的使用public void b() {/*代码*/}
}
下面说法正确的是 C
(A)因为方法a和方法在同一个类中,所以它们可以互相直接调用
(B)可以在方法b的代码中调用C.b()
(C)可以在方法b的代码中调用a()
(D)可以在方法a的代码中调用b()
三、多选题
1.下面的哪些声明是合法的?AC
(A)int a[]; (B)int a[5];
(C)int[] a; (D)int a[] = [5];
2.已知:
interface I {
void ma();
void mb();
void mc(); }
class Base {
public void ma(){}
}
class Derived extends Base implements I {
__ ________ }
要使Derived通过编译,在划线处至少需要添加下面哪些语句 ( CD )
A)public void ma() { }
B)void ma() { }
C)public void mb() { }
D)public void mc() { }
3. 对于构造函数,下列叙述正确的是(ACD)。
A)构造函数是类的一种特殊函数,它的方法名必须与类名相同
B)构造函数的返回类型只能是void型。
C)构造函数的主要作用是完成对类的对象的初始化工作。
D)构造函数只能在创建对象时由new调用。
E)构造函数不能重载。
4. 下列描叙正确的是(BD )。
A)在类体中定义的变量称为类的成员变量,在别的类中可以直接使用。
B)局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的程序块中,局部变量在使用前必须被初始化。
C)使用其他类中的方法仅仅需要引用方法的名字即可。
D)一个类的方法使用该类中的另一个方法时可以直接通过方法名引用。
E) 子类可以继承父类的所有成员。
5. 下列哪些选项的java源文件代码片段是正确的?(AD )