考試總結

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.類是對象的實例化                    //類是對象的抽象,對象是類的實例化;


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