一:面向對象基礎練習題


1:構造方法何時被調用 (B)

  A:定義類的時候

  B:創建對象的時候

  C:調用方法的時候

  D:操作屬性的時候

2:下列關於this()說話錯誤的是 (D)

  A:this()表示在一個構造方法中調用本類的另一個構造函數

  B:this()只能寫在構造方法的第一句

  C:this()可以幫助程序員實現構造方法的代碼復用

  D:如果不寫也會有默認的this(),完成本類公共無參構造的調用

3:關於foreach說法正確的是(B,C)

  A:foreach是一個關鍵字

  B:foreach是遍歷集合專用

  C:foreach可以防止下表越界的風險

  D:foreach可以完全替代for循環

4:以下說法正確的是(C)

  A:基本數據類型數組是基本數據類型

  B:引用數據類型數組是引用數據類型

  C:數組一定是引用數據類型

  D:數組一定是基本數據類型

5:接口可以有兩種實現了的方法:

  5.1:默認方法

  5.2:靜態方法

6:下面關於對象說法正確的是(A,B,D)

  A:對象也被稱為Object

  B:對象也被稱為實例

  C:對象也被稱為引用

  D:對象也被稱為物件

7:以下哪些內容可以定義在接口當中(B,E)

  A:變量屬性

  B:常量屬性

  C:構造方法

  D:普通方法

  E:抽象方法

8:對於構造方法,下面描述不正確的是(B)

  A:構造方法是類當中的一種特殊方法,它的方法名必須與類名相同

  B:構造方法的返回類型只能是void 

  C:構造方法的主要作用是完成對實例對象的初始化工作

  D:在創建對象時,系統會自動調用構造方法

9:接口定義的方法要求(D)

  A:公共的

  B:抽象的

  C:靜態的

  D:公共抽象的

10:下面那些是正確排序的方法(A,B,D)

  A:冒泡排序

  B:選擇排序

  C:二分排序

  D:插入排序

11:以下對繼承描述錯誤的是(B)

  A:父類更具有通用性,子類更具體

  B:JAVA中的繼承允許一個子類繼承多個父類

  C:JAVA的繼承存在傳遞性

  D:當實例化子類時會先調用父類中的構造方法

12:以下關於引用與對象關系說法錯誤的是(C,D)

  A:本類的引用可以指向本類對象

  B:父類的引用可以指向子類的對象

  C:子類的引用可以指向父類的對象

  D:Object的引用可以指向所有類型

13:關於參數傳遞說法正確的(A,B)

  A:基本數據類型參數傳遞的是值,引用數據類型參數傳遞的是引用

  B:不管是基本數據類型還是引用數據類型都是值傳遞

  C:基本數據類型參數傳遞的是數據值,引用數據類型參數傳遞的是對象

  D:基本數據類型參數是值傳遞,引用數據類型傳遞是引用傳遞

14:關於JAVA數組說法正確的是(A,B)

  A:數組對象有.length屬性

  B:數組對象的.length屬性不可更改

  C:數組對象有.length()方法

  D:數組對象沒有任何方法

15:關於構造方法說法正確的是(A,B,D)

  A:構造方法不能被繼承

  B:構造方法不能被重寫

  C:構造方法不能被重載

  D:構造方法不能被final修飾

16:下面說話正確的是(D)

  A:匿名內部類編譯后不會生成.class文件

  B:接口編譯后不會生成.class文件

  C:抽象類中沒有構造方法

  D:局部內部類只能訪問被final修飾的局部變量

17:下面關於修飾符說法正確的是(B)

  A:訪問修飾符控制了父類那些內容能夠被子類繼承

  B:訪問修飾符控制了類的那些內容能夠被外部直接可見

  C:與其為私有屬性提供的get/set,不如直接將屬性設置為public

  D:訪問修飾符對方法重載也有影響

18:下面關於類,對象和實例說法正確的是(D)

  A:類就是對象,對象就是類,實例是對象的另一個名稱,三者沒有關系

  B:對象是類的抽象,類是對象的具體化,實例是對象的另一個名稱

  C:類是對象的抽象,對象是類的具體化,實例是類的另一個名稱

  D:類是對象的抽象,對象是類的具體化,實例是對象另一個名稱

19:下面關於動態綁定說法正確的是(B,C)

  A:父類的引用可以指向父類的對象

  B:父類的引用可以指向子類的對象

  C:接口的引用可以指向實現類的對象

  D:實現類的引用可以指向接口的對象

20:下面關於==與equals說法錯誤的是(B,C)

  A:==號是判斷兩個數據量的值是否相等

  B:equels是判斷兩個對象的每個屬性是否相等

  C:==號不可用於對象相等的判斷

  D:equals不可用於基本數據類型的判斷

21:下面說法不正確的是(C)    JAVA語言支持單繼承多實現

  A:類是對象的抽象,對象是類的實例

  B:類是組成JAVA程序的基本單位

  C:JAVA語言支持多繼承

  D:一個程序中只能有一個public類

22:下面說法正確的是(A)

  A:抽象類中可以沒有抽象方法

  B:抽象類中定義的方法一定是抽象的

  C:抽象類中一定存在抽象方法

  D:抽象類的子類一定要實現抽象類中的抽象方法

23:以下關於Object方法中,說法錯誤的是(A,C)

  A:to String()方法的作用是把當前對象轉換成字符串形式進行打印

  B:equals()方法的作用是判斷當前對象與傳入對象是否相等

  C:finalize()是銷毀對象的方法,不能被重寫

  D:數組也具備Object中所有方法

24:下面關於重寫方法正確的是(A,B,D)

  A:重寫是發生在有繼承關系的類當中

  B:方法名和參數列表要一致

  C:方法的訪問修飾符重寫前必須比重寫后同范圍或范圍更小

  D:方法拋出的異常重寫前必須必重寫后的范圍更大或通同范圍

25:關鍵字abstract可以修飾那些選項(A,D)

  A:類

  B:屬性

  C:構造

  D:方法

26:關於抽象類描述不正確的是(C)

  A:有abstract關鍵字修飾,允許包含未實現方法的類被稱為抽象類

  B:在抽象類中可以不包含抽象方法

  C:抽象類可以實例化

  D:抽象類可以被繼承

27:以下關於Object類說法錯誤的是(B)

  A:一切類都直接或者間接繼承Object類

  B:接口也繼承Object類

  C:Object類中定義了to String()方法

  D:Object類在JAVA.lang包中

28:以下關於接口說法正確的是(C,D)

  A:接口中的方法全是抽象方法

  B:接口中的屬性都是公開靜態常量,系統默認賦值為0或null

  C:接口中的抽象方法也是抽象的

  D:接口體現了約定於實現的分離

29:在JAVA中,多態的實現不僅能減少編碼的工作量,還能大大的提高程序的可維護性及可拓展性,下面哪一個選項不屬於多態條件(B)

  A:子類重寫父類的方法

  B:子類重載同一個方法

  C:要有繼承關系或者實現關系

  D:父類引用指向子類對象

30:關於接口說法正確的是(A,D)

  A:接口是一種引用數據類型

  B:接口的父親也是Object

  C:接口不能定義變量屬性

  D:接口有默認的構造方法

31:下面關於靜態初始化塊和實例初始化塊說法正確的是(B)

  A:靜態初始化塊只能被調用一次,是在第一次產生對象的時候

  B:每次產生對象的時候都會執行一次實例化塊

  C:每次產生對象的時候都會執行一次靜態初始化塊

  D:實例初始化塊是在執行構造方法之后馬上被執行的

32:以下關於繼承說法錯誤的是(A,B,D)

  A:子類可以無條件從父類繼承屬性,行為,和構造方法

  B:子類不能從父類中繼承私有屬性或方法

  C:子類可以繼承父類私有的屬性和方法,只是無法直接操作

  D:同一個父類下不同子類,可以繼承父類不同的屬性和方法

33:關於方法調用棧說法正確的是(B,D)

  A:方法調用棧遵循先進先出的原則

  B:方法調用棧遵循先進后出的原則

  C:方法調用棧適合於普通方法,與構造方法無關

  D:方法調用棧適合於所有方法

34:下面關於數據類型轉換說法正確的是(B,C,D)

  A:所有類型都可以進行任意的數據類型轉換

  B:類型轉換分為自動類型轉換和強制類型轉換

  C:向上轉型就是自動類型轉換

  D:向下轉型就是強制類型轉換

 

35:為體現豐富度,JAVA的接口允許--多繼承--接口,實現類允許--多實現--接口

 

36:在使用this和super關鍵字時,以下描述正確的是(D)

  A:this()和super()可以同時在一個構造方法中使用

  B:this()和super()可以不放在構造器的第一行

  C:this()和super()如果不寫的話均有默認

  D:super()有默認,this()沒有

37:關於構造器方法說法正確的是(A,B,D)

  A:構造方法不能被繼承

  B:構造方法不能被重寫

  C:構造方法不能被重載

  D:構造方法不能被final修飾

38:在JDK8中,允許接口可以添加已經實現了的方法,但是方法要求在聲明上添加關鍵字(B)

  A:final

  B:default

  C:synchronized

  D:break

39:下面是面向過程編程與面向對象編程說法正確的是(A,C,D)

  A:先有面向過程編程,后有面向對象編程

  B:面向對象編程比面向過程編程更接近人類的自然思維

  C:面向過程編程是按步驟進行設計

  D:面向對象編程是按職責進行角色划分

 

40:靜態初始化塊是在JVM---(類加載或加載類)---的時候被執行,只執行這一次;實例初始化塊是在new對象的時候執行,每產生一個對象就執行一次;

 

41:下面關於對象說法不正確的是(B)

  A:萬物皆對象

  B:對象一定是看的見摸的着的

  C:對象因關注產生

  D:對象包含屬性和行為

42:以下是關於單繼承與多繼承說法正確的是(C,D)

  A:單繼承比多繼承更好

  B:多繼承比單繼承更好

  C:單繼承的繼承結構更加清晰

  D:多繼承的繼承結構更加豐富

43:以下關於面向對象說法錯誤的是(A,C,D)

  A:面向對象是編程的一種思維方式,是程序開發人員專有的思維方式

  B:面向對象是人類認識問題域的一種思維方式,不僅僅是在軟件開發中使用

  C:在當前的軟件開發中,面向對象已經完全取代了面向過程

  D:在當前軟件開發中,只有面向過程和面向對象兩種編程思維

 

44:動態多態的關鍵性技術是重寫和---(動態綁定)---技術

 

45:為避免向下轉型的風險,應該在轉型前先使用---(instanceof)---運算符進行判斷

 

46:下面關於多態說法錯誤的是(B,D)

·  靜態多態指的是重寫重載

  A:多態分為靜態多態與動態多態

  B:靜態多態指的是static方法的多態

  C:動態多態指的是編譯時不確定綁那個對象,運行時才能確定

  D:多態必須建立在繼承的基礎上

47:下面對static的描述正確的是(A,C,D)

  A:靜態修飾的成員變量和成員方法隨着類的加載而加載

  B:靜態修飾的成員方法可以訪問非靜態成員變量

  C:靜態修飾的成員可以被整個類對象所分享

  D:靜態修飾的成員變量和成員方法隨着類的消失而消失

48:以下說法正確的是(A,C)

  A:static代碼塊中不能書寫this,super關鍵字

  B:static不能和final同時修飾方法

  C:靜態初始化塊中不能操作非static屬性

  D:實例初始化塊中不能操作static屬性

49:接口中定義屬性的要求是(D)

  A:公共的

  B:靜態的

  C:常量

  D:以上三者都要滿足

50:下面關於抽象類和接口的說法那個是正確的(C,D)

  A:抽象類中只能包括抽象方法,必須寫abstract關鍵字

  B:接口中的方法只能是抽象的,但不能寫abstract關鍵字

  C:接口中的方法只能是public的

  D:抽象類不能被抽象類繼承


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM