面向对象部分测试题
考试宣言:
同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!
我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。
1.下面描述函数重写错误的是
    A.    要有子类继承或实现
    B.    子类方法的权限必须大于等于父类的权限
    C.    父类中被private权限修饰的方法可以被子类重写
    D.    子类重写接口中的抽象方法,子类的方法权限必须是public的 //接口所有方法前面都是默认public abstract
2.下面关于类的设计思路描述错误的是 (  )
A.    根据需求定义类所包含的字段(成员变量)
B.    根据面向对象的思想要求,隐藏属性和实现细节之后可以提供公共的访问方式
C.    封装之后的字段在本类内也必须使用get/set方法    //private修饰之后可以在本类中直接使用,不需要通过get/set方法调用
D.    按需求可以在类中定义若干构造方法
3.分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )。
class A {
    public void test() {
        System.out.println("A类的test()方法");
    }
java接口可以创建对象吗}
class B extends A {
    public void test() {
        System.out.println("B类的test()方法");
    }
    public static void main(String args[]) {
                                         
    }
}
    A.    A a = new B();
            a.test();
    B.    A a = new A();
        a.test();
    C.    B b = new A();
        b.test();
    D.    new B().test();
4.关于封装下面介绍错误的是( )。
    A.    封装隐藏实现细节
    B.    封装提高重用性。
    C.    封装提高安全性
    D.    只有被private修饰才叫做封装  //仅仅是封装的一种
5.试图编译运行下面的代码会发生什么情况
    public class MyClass{
    static int i;    // int型的成员变量默认值为 0
    public static void main(String[] args){
    System.out.println(i);
    }
    }
    A.    错误,变量i没有被初始化
    B.    输出null
    C.    输出1
    D.    输出0
6.下面对static的描述正确的是
A.    静态修饰的成员变量和成员方法随着类的加载而加载
B.    静态修饰的成员方法可以访问非静态成员变量  //对象都没有,访问什么呀?
C.    静态修饰的成员可以被整个类对象所共享
D.    静态修饰的成员变量和成员方法随着类的消失而消失
7.给定java代码,如下:     
abstract class Shape     { 
      abstract void draw( );     
 要创建Shape类的子类Circle,以下代码正确的是()。 
A.    class Circle extends Shape{    int draw( ){}      } 
B.    abstract class Circle extends Shape{      } 
C.    class Circle extends Shape{    void draw( );  }
D.    class Circle extends Shape{    void draw( ){ } } 
8.在Java中,下面对于构造函数的描述正确的是( )。
    A.    类必须显式定义构造函数
    B.    构造函数的返回类型是void    // 构造器(函数)没有返回值类型,什么都不用写.
    C.    构造函数和类有相同的名称,并且不能带任何参数
    D.    一个类可以定义多个构造函数
9.下面Java代码的运行结果是(  )。
class Penguin {
  //下面蓝的部分被称为 属性 , 字段 , 成员变量
    private String name=null; // 名字
    private int health=0; // 健康值
    private String sex=null; // 性别
    public void Penguin() {  // 构造方法没有void,所以这是个普通的方法
        health = 10;
        sex = "雄";
        System.out.println("执行构造方法。");
    }
    public void print() {
        System.out.println("企鹅的名字是" + name +
                ",健康值是" + health + ",性别是" + sex+ "。");
    }
    public static void main(String[] args) {
        Penguin pgn = new Penguin();
        pgn.print();
    }
}
    A.    企鹅的名字是null,健康值是10,性别是雄。
    B.    执行构造方法。
        企鹅的名字是null,健康值是0,性别是null。
    C.    企鹅的名字是null,健康值是0,性别是null。
    D.    执行构造方法。
        企鹅的名字是null,健康值是10,性别是雄。
10.在Java中,下面关于抽象类的描述正确的是()。   
A.    抽象类本身可以被实例化 
B.    如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类 
C.    抽象类中的方法必须都是抽象的 
D.    声明抽象类必须带有关键字abstract 
11.给定如下Java程序代码,在_____横线处加入( )语句,可以使这段代码编译通过。

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