考试总结

1.下面描述函数重写错误的是( C )

            A. 要有子类继承或实现

            B. 子类方法的权限必须大于等于父类的权限

            C. 父类中被private权限修饰的方法可以被子类重写

            D. 子类重写接口中的抽象方法,子类的方法权限必须是public的

            自己选错:B,子类可以访问父类,也可以访问自己,所以权限大于父类;

                             C,父类的私有子类不能访问,只能通过访问父类的共有间接访问父类的私有;

2.分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( AD)。

class A {

    public void test() {

        System.out.println("A类的test()方法");

    }
}

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();      //可以通过子类直接访问

3.  给定java代码,如下:     

            abstract class Shape     {

                   abstract void draw( );     

            }

             要创建Shape类的子类Circle,以下代码正确的是( BD )。

            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( ){ } }    //子类继承父类,并且拥有抽象类在子类实现;

4. Java中,下面对于构造函数的描述正确的是( D )。

            A. 类必须显式定义构造函数    //多选了A,如果没有系统会自己帮你加一个无参构造函数;

            B. 构造函数的返回类型是void    

            C. 构造函数和类有相同的名称,并且不能带任何参数

            D. 一个类可以定义多个构造函数

5. Java中,下面关于抽象类的描述正确的是(  BD  )。   

            A. 抽象类本身可以被实例化

            B. 如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类 //少选了B,正确我也不知道当时为什么没选

            C. 抽象类中的方法必须都是抽象的  

            D. 声明抽象类必须带有关键字abstract

6. 下面对this的作用描述错误的是 ( D )

            A. 当成员变量和局部变量重名的时候可以用this区分

            B. this()语句必须放在构造函数的第一行,根据this后面括号中的参数调用本类其他的构造函数.

            C. this可以用本类的一般函数   //当时选了C,这个可以;

            D. this可以调用父类的一般函数    //this指代的是当前对象,或者当前对象的引用,但是this现在在子类,不能到父类中

7. java中,已定义了两个接口B和C,以下语句正确的是 (  AC  )  

            A. interface A extends B,C          //接口和接口本来就是继承关系,所以接口A可以继承接口B,接口C;

            B. interface A implements B,C  

            C. class A implements B,C

            D. class A implements B,implements C       //一个类可以拥有多个接口

8.在Java接口中定义常量,下面语法正确的是( ABC )。

            A. static final int MALE = 1;

            B. final int MALE = 1;

            C. int MALE = 1;   //自动隐藏了  public static final;

            D. private int MALE = 1;

9. 下列选项中关于Java中super关键字的说法错误的是(B)。

            A. 当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量

            B. super语句可以放在构造函数的任意一行            //实例化子类对象调用子类构造函数进行初始化前,必须调用父类的构造函数
                                                                                                    //对父类进行初始化,防止子类无法初始化

            C. 子类可以通过super关键字调用父类的方法

            D. 子类可以通过super关键字调用父类的属性         //可以super . 属性;

10. 以下关于Object类说法错误的是( B )。

            A. 一切类都直接或间接继承自Object类       //Object为超类,所有的类都继承于Object类;

            B. 接口也继承Object类          //Object和interface没什么关系;
                      解答:如果一个接口也继承了Object 类,那么接口会继承Object类中的很多方法,显然会错,因为那些方法都是实方法,不是
                                     抽
象方法。比如toString() 方法,被继承过来,不满足接口中方法都是抽象方法。 

            C. Object类中定义了toString()方法

            D. Object类在java.lang包中

11. 多态的前提是方法重写,访问子类重写的方法;

      接口访问子类的特有功能;

12. 下面说法中错误的是  ( D  )

            A. 静态代码块只在类加载的时候执行一次 , 以后再创建对象的时候不执行   //对的

            B. 局部代码块的作用是为了限制变量的生命周期            //对的

            C. 构造代码块在每创建一次对象就执行一次        //对的

            D. 以上都不对

13. 关于类和对象的叙述正确的是(   A  )

 A.Java的类分为两大部分:系统定义的类和用户自定义的类

 B.类的静态成员变量(类变量)和普通成员变量(实例变量)的概念完全一样,只是表达形式不同        //错的

 C.定义一个类时,该类的成员至少要有一个成员变量和一个成员方法            //没有也可以

 D.类是对象的实例化                    //类是对象的抽象,对象是类的实例化;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章