JavaSE题集(三)

一、填空题
1. 如果一个方法不返回任何值,则该方法的返回值类型为void
2. 如果子类中的某个方法名、返回值类型和参数列表与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。
3. 接口中所有的属性均为publicstaticfinal
4. 抽象方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
5. 一般Java程序的类主体由两部分组成:一部分是属性,另一部分是方法
6. 分别用class关键字来定义类,用new关键字来分配实例存储空间。
7. 当一个类的修饰符为final时,说明该类不能被继承,即不能有子类。
8. 在Java中,能实现多重继承效果的方式是接口
二、选择题
1. 方法内定义的变量(B )。
A.一定在方法内所有位置可见
B.可能在方法的局部位置可见
C.在方法外可以使用
2. 方法的形参( A)。
A.可以没有
B.至少有一个
C.必须定义多个形参
D.只能是简单变量
3. return语句(D)。
A.不能用来返回对象
B.只可以返回数值
C.方法都必须含有
D.一个方法中可以有多个
4. main()方法的返回值类型是(C)。
A.boolean B.int C.void D.static
5. 编译并运行下面的程序,运行结果是(A)。
public class A{
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 B.class C.protected D.public
7. 下列方法定义中,方法头不正确的是( A)。
A.public static x(double a){…}
B.public static int x(double y){…}
C.void x(double d){…}
D.public int x(){…}
8. 构造方法在( D )时被调用。
A.类定义时
B.使用对象的变量时
C.调用对象方法时
D.创建对象时
9. 下列哪个类声明是正确的(A )。
A.public abstract class Car{…}
B.abstract private move(){…}
C.protected private number;
D.abstract final class H1{…}
10. 下列不属于面向对象程序设计的基本特征的是( D)。
A.抽象 B.封装 C.继承 D.静态
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„„处( C )
A.Person(n,a) B.this(Person(n,a)) C.this(n,a) D.this(name.age)
12. 请看下面的程序段
class Test{
private int m;
public static void fun(){ //some code }
}
方法fun()如何来访问变量m( 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
13. 有一个类A,对于其构造函数的声明正确的是(B )。
A.void A(int x){„} B.public A(int x){„} C.A A(int x){„} D.int A(int x){„}
14. 请看下面的程序段
public class Test{
long a[]=new long[10];
pubic static void main(String args[]){
System.out.println(a[6]); } }
哪一个选项是正确的(C)。
A.不输出任何内容
B.输出0
C.当编译时有错误出现
D.当运行时有错误出现
15. 关键字(B)表明一个对象或变量在初始化后不能修改。
A.extends B.final C.this D.finalize
16. 声明为static的方法不能访问(C)类成员。
A.超类 B.子类 C.非static D.用户自定义类
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)。
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. 编译运行下面的程序,结果是(B)。
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.产生编译错误
B.代码可以编译运行,并输出结果:AB
C.代码可以编译运行,但没有输出
D.编译没有错误,但会产生运行时异常
19. 已知类关系如下:
Class Employee{}
Class Manager extends Employee{}
Class Director extends Employee{} 则下列语句正确的是:(A)。
A.Employee e=new Manager();
B.Director d=new Manager();
C.Director d =new Employee ();
D.Manager m=new Director ();
20. 接口是Java面向对象的实现机制之一,以下说法正确的是(B)。
A.Java支持多重继承,一个类可以实现多个接口
B.Java只支持单重继承,一个类可以实现多个接口
C.Java只支持单重继承,一个类可以实现一个接口
D.Java支持多重继承,但一个类只可以实现一个接口

三、阅读程序题
1.下面是一个类的定义,请将其补充完整
class Student{
String name;
int age;
Student(String name, int a){
this.name=name;
age=a; }
}
2.下面是一个类的定义,请将其补充完整
class A{
String s;
static int a=3;
A(String s){ this.s=s; }
static int getA(){
return a;
} }

四、编程题
在以下方法中完成冒泡排序
public void sort(int[] a){}

// 冒泡排序,a 表示数组,n 表示数组大小
public void bubbleSort(int[] a, int n) {
  if (n <= 1) return;
 
 for (int i = 0; i < n; ++i) {
    // 提前退出冒泡循环的标志位
    boolean flag = false;
    for (int j = 0; j < n - i - 1; ++j) {
      if (a[j] > a[j+1]) { // 交换
        int tmp = a[j];
        a[j] = a[j+1];
        a[j+1] = tmp;
        flag = true;  // 表示有数据交换      
      }
    }
    if (!flag) break;  // 没有数据交换,提前退出
  }
}

你可能感兴趣的:(JavaSE题集(三))