一、填空题
1. 如果一个方法不返回任何值,则该方法的返回值类型为 void 。 2. 如果子类中的某个方法名、返回值类型和__参数列表_____与父类中的某个
方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。 3. 接口中所有的属性均为public___、_static______和__final____的
4. 抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,
该方法必须在 抽象 类之中定义。
5. 在Java程序中,通过类的定义只能实现 extends 重继承,但通过implements 的定义可以实现多重继承关系。
6. 一般Java程序的类主体由两部分组成:一部分是 成员变量 ,另一部
分是 成员方法 。
7. 分别用 class 关键字来定义类,用 new 关键字来分配实例存储空间。
8. 当一个类的修饰符为 类 时,说明该类不能被继承,即不能有子类。 9. 在Java中,能实现多重继承效果的方式是 接口 。
二、选择题
1. 方法内定义的变量(B )。
A.一定在方法内所有位置可见 B.可能在方法的局部位置可见 C.在方法外可以使用 D.在方法外可见
2. 方法的形参( D)。
A.可以没有
C.必须定义多个形参
3. return语句(D)。
B.至少有一个 D.只能是简单变量 B.只可以返回数值 D.一个方法中可以有多个 B.int D.static
A.不能用来返回对象 C.方法都必须含有
4. main()方法的返回值类型是(C)。
A.boolean C.void public class A{
5. 编译并运行下面的程序,运行结果是(C )。
public static void main(String args[]){ A a=new A(); a.method(8); }
void method(int i){
System.out.println(“int: ”+i); }
void method(long i){
System.out.println(“long: ”+i); }
A.程序可以编译运行,输出结果为:“int: 8” B.程序可以编译运行,输出结果为:“long: 8”
C.程序有编译错误,因为两个method()方法必须定义为静态(static)的 D.程序可以编译运行,但是没有输出
6. 能作为类及其成员的修饰符是(D )。
A.interface C.protected
A.public static x(double a){…} C.void x(double d){…}
8. 构造方法在( D )时被调用。
B.class D.public
B.public static int x(double y){…} D.public int x(){…} B.使用对象的变量时 D.创建对象时
B.abstract private move(){…} D.abstract final class H1{…} B.封装 D.静态
7. 下列方法定义中,方法头不正确的是(C )。
A.类定义时
C.调用对象方法时
9. 下列哪个类声明是正确的(C )。
A.public abstract class Car{…} C.protected private number; A.抽象 C.继承
10. 下列不属于面向对象程序设计的基本特征的是(A )。
11. 请看下面的程序段 class Person{
String name,department; int age;
public Person(String n){name=n;}
public Person(String n,int a){name=n; age=a;} public Person(String n, String d, int a ){
//doing the same as two arguments version if constructer }
下面那个选项可以添加到// doing the same??处( D )
A.Person(n,a) C.this(n,a)
12. 请看下面的程序段 class Test{
private int m;
public static void fun(){ //some code } }
方法fun()如何来访问变量m( B )
B.this(Person(n,a)) D.this(name.age)
A.将private int m 改成protected int m B.将private int m 改成public int m C.将private int m 改成static int m A.void A(int x){?} C.A A(int x){?}
14. 请看下面的程序段 public class Test{
long a[]=new long[10];
pubic static void main(String args[]){
System.out.println(a[6]); } }
哪一个选项是正确的( D )。
D.将private int m 改成int m B.public A(int x){?} D.int A(int x){?}
13. 有一个类A,对于其构造函数的声明正确的是(B )。
A.不输出任何内容
C.当编译时有错误出现 A.extends C.this A.超类 C.非static
17. 定义类A如下:(重要) class A{ int a,b,c;
public void B(int x,int y, int z){ a=x;b=y;c=z;} }
下面对方法B的重载哪些是正确的(C )。
B.输出0
D.当运行时有错误出现 B.final D.finalize B.子类
D.用户自定义类
15. 关键字( B)表明一个对象或变量在初始化后不能修改。
16. 声明为static的方法不能访问(C )类成员。
A.public void A(int x1,int y1, int z1){ a=x1;b=y1;c=z1;} B.public void B(int x1,int y1, int z1){ a=x1;b=y1;c=z1;} C.public void B(int x,int y){ a=x;b=y;c=0;}
D.public B(int x,int y, int z){ a=x;b=y;c=z;}
18. 编译运行下面的程序,结果是(D )。(重要) public class A{
public static void main(String args[]){
B b=new B(); b.test(); }
void test(){
System.out.print(“A”); } }
class B extends A{ void test(){
super.test();
System.out.print(“B”); } }
A.产生编译错误 AB
B.代码可以编译运行,并输出结果:
C.代码可以编译运行,但没有输出 D.编译没有错误,但会产生运行时异常
19. 已知类关系如下:
Class Employee{}
Class Manager extends Employee{} Class Director extends Employee{} 则下列语句正确的是:(C )。
A.Employee e=new Manager(); C.Director d =new Employee ();
B.Director d=new Manager(); D.Manager m=new Director ();
20. 接口是Java面向对象的实现机制之一,以下说法正确的是(A )。
A.Java支持多重继承,一个类可以实现多个接口 B.Java只支持单重继承,一个类可以实现多个接口 C.Java只支持单重继承,一个类可以实现一个接口 D.Java支持多重继承,但一个类只可以实现一个接口 21.下列方法的声明中不合法的是 C 。 A.float area( ){…} C.area{…}
B.void area( ){…} D.int area(int r){…}
22、下面哪个包是编程时不需要导入就可以直接使用的 A 。 A.java.net
B.java.lang
C.java.sql
D.java.util
23、调用构造方法是在 B 。

