面向对象部分测试题
考试宣言:
同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!
我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。单选2/题,多选4/题。多选题不全对半分,全对满分。
1. 下列说法哪个正确?  ( ABC )
A. 一个程序可以包含多个源文件
B. 一个源文件中只能有一个公共类
C. 一个源文件中可以有多个类
D. 一个源文件只能供一个程序使用
2. 以下关于Object类说法错误的是(B )。
    A.    一切类都直接或间接继承自Object
    B.    接口也继承Object
    C.    Object类中定义了toString()方法
    D.    Object类在java.lang包中
3. Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,下面哪一个选项不属于多态的条件(B )。
    A.    子类重写父类的方法
    B.    子类重载同一个方法
    C.    要有继承或实现
    D.    父类引用指向子类对象
4. 编译运行如下Java代码,输出结果是()。
class Base {
    public void method(){
        System.out.print ("Base method");
    }
}
class Child extends Base{   
    public void methodB(){
        System.out.print ("Child methodB");
    }
}
class Sample {
    public static void main(String[] args) {
        Base base = new Child();
        hodB();
    }
}
    A.    Base method
    B.    Child methodB
    C.    Base method Child MethodB
    D.    编译错误
5. 下面说法正确的是(  ABCD )
A. final 可修饰类、属性(变量)、方法             
B. abstract可修饰类、方法
C. 抽象方法只有方法声明,没有方法体
D. 关键字finalabstract不能同时使用
6. Java接口中,下列选项中属于有效的方法声明是(A )。
    A.    public void aMethod();
    B.    final void aMethod();
    C.    void aMethod(){}
    D.    private void aMethod();
7. 下面说法中错误的是    (D)
A. 静态代码块类一加载只执行一次 , 以后再创建对象的时候不执行
B. 局部代码块的作用是为了限制变量的生命周期
C.    构造代码块在每创建一次对象就执行一次
D.    以上都不对
8. 下面哪些关键字能用来控制对类成员的访问(AC  )?
A. public 
B. protected   
C. private   
D. default       
9. 给定如下Java代码 , 以下( AB )方法可以加入Child类中。 
public class Parent{
int change(){
        //此处省略N行代码
}
Class Child extends Parent{
//(此处可以放入下面哪个选项java接口可以创建对象吗) 
A.    public int change(){} 
B.    int show(int i){} 
C.    private int change(){} 
D.    abstract int change(){}
10. Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用(  C  )关键字来声明父类的这些方法。 
A.    final 
B.    static 
C.    abstract 
D.    void 
11. 下面关于变量及其范围的陈述哪些是对的? (  ACD)?
A. 实例变量(区别于类变量,属于对象的变量)是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化。   
12. 给定两个java程序,如下:
public interface Face{ 
int counter = 40;   
}     
public class Test implements Face{ 
private static int counter;   
public static void main(String[]args){
      System.out.println(++counter);       
}   
Test.java 的编译运行结果是( D)。 
A.    40 
B.    41 
C.    0 
D.    1
13. 关于abstract不能和哪些关键字共用正确的是(ABC)
A.    abstract不可以和private共用
B.    abstract不可以和static共用
C.    abstract不可以和final共用
D.    abstract不可以和public共用
14. Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(A )。
    A.    C可以继承B中的公有成员,同样也可以继承A中的公有成员
    B.    C只继承了B中的成员
    C.    C只继承了A中的成员
    D.    C不能继承AB中的成员
15. 给定java程序,如下:   
public class Test{ 
private static final int counter=10; 
public static void main(String [] args){         
System.out.println(++counter);       
}   
 编译运行Test.java,结果是    
A.    10 
B.    11 
C.    编译错误 
D.    运行时出现异常 
16. 给定一个Java程序代码,如下:(B)
 public class Test{ 
 int count = 9; 
public void count1(){ 
int count =10; 
          System.out.println("count1="+count);
    public void count2(){ 
          System.out.println("count2="+count);
    public static void main(String args[]){ 
Test t=new Test();   
t.count1(); 
t.count2(); 
}
 编译运行后,输出结果是
A.    count1=9 count2=9 
B.    count1=10 count2=9 
C.    count1=10 count2=10 
D.    count1=9 count2=10 
17. 按照课堂要求在类中定义构造方法和set方法,关于这两个方法描述错误的是(  D )
A.    构造方法是用来创建对象或者初始化成员数据的
    B.    set方法是为对象中成员变量赋值的
    C.    带参构造在创建对象的时候也可以为成员变量赋值
    D.    类中的带参构造方法与set方法功能是完全重复的,可以只选其一
18. 程序Test.java编译运行后输出的结果是(  A )
public class Test {
    String s1="java"; 
    public static void main(String args[]) {                 
        int z=2;             
        Test t=new Test();             
        System.out.println(t.s1+z);
    } 
A. java2   
B. 2   
C. 没有输出结果       
D. java
19. 用于定义类成员的访问控制权的一组关键字是(  D  )
A.  class, float, double, public
B.  float, boolean, int, long
C.  char, extends, float, double
D.  public, private, protected
20. 给定java代码,如下:编译运行,结果是  (A)
 public static void main (String [] args){ 
String s; 
System.out.println(“s=”+s);
A.    编译错误 
B.    编译通过,但出现运行时错误 
C.    正常运行,输出s=null 
D.    正常运行,输出s= 
21. 关于类和对象的叙述正确的是:(A  )
AJava的类分为两大部分:系统定义的类和用户自定义的类
B.类的静态属性和全局变量(成员变量)的概念完全一样,只是表达形式不同
C.编写一个类时,该类成员至少要有一个成员变量和一个成员方法
D.类是对象的实例化   
22. 给出下面的不完整的类代码
  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) {
      // 完成Person(String n, int a)的逻辑
      department = d;
    }
  }
  下面的哪些表达式可以加到构造方法中的注释处? (  C )
A. Person(n,a);
B. this(Person(n,a));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。