Java——刷題,考點,難點,查漏補缺

Java考試,考前突擊,以下是刷往年例題中出現的錯題和很模糊題的小結。

  1. Java是強類型(strong typed)的,必須先聲明後使用。聲明有兩種類型:primitive type 和 reference type。前者翻譯爲“原始類型”或者“基本類型”;後者翻譯成“引用類型”。原始類型有8種:boolean + char + 2種浮點型 + 4種整型。Java爲這8個原始類型提供了封裝類(Wrapper),它們是首字母大寫的完整單詞。引用類型有5種:數組、類、接口、enum、null type

  2. Java源代碼中定義幾個類(包括public和default訪問符的頂層類,以及內部類),編譯出來就是幾個.class爲後綴的字節碼文件

  3. Java的回收機制,在空閒時間以不定時的方式動態回收無任何引用的對象佔據的內存空間

  4. Java的屏幕座標以像素點爲單位,容器的左上角被確定爲座標的起點

  5. 常用佈局管理器有:BorderLayout, FlowLayout, GridLayout, GridBagLayout, CardLayout, BoxLayout。其中BorderLayout是頂層容器Jframe、Jdialog的默認佈局管理器;FlowLayout是中間層容器JPanel的默認佈局管理器

  6. 靜態初始化器是在其所屬的類加載內存時,由系統自動調用執行。語法:static { … },這一段代碼在初始化塊和構造方法之前最先執行

  7. 嵌套字(socket)是端口號和IP地址的組合

  8. Java程序分爲兩類:Java應用程序(application)和Java小程序(applet)。前者可以獨立運行,而後者需要依附於一個用HTML編寫的網頁並嵌入其中才能運行

  9. 一個類,一旦創建了一個構造方法,默認的不帶參數的構造方法將不復存在

  10. 子類可以自動調用父類的無參的構造方法,但是不能自動調用父類的有參的構造方法。如果要調用父類有參的構造方法,必須在子類的構造方法中使用super關鍵詞來調用,即super(參數),而且必須是子類構造方法的第一行 非註釋代碼

  11. 實現屬性共享用到的關鍵詞是static。類的所有實例對象都共享同一個類屬性

  12. InputStream和OutputStream類用於讀寫字節流;Reader和Writer類用於讀寫字符流。InputStreamReader和InputStreamWriter是字節流和字符流之間的橋樑

  13. 創建一個線程有兩種方法:實現Runnable接口和繼承Thread類。後者是前者的子類,即public class Thread implements Runnable{ }。創建線程的兩種方法都要覆蓋run()方法,都必須用Thread類產生線程,然後調用start()方法

  14. 實現Runnable接口的方法更加普遍:聲明實現Runnable接口的類,在類內實現run()方法,在類內聲明線程對象,在init()方法或start()方法中創建新線程,在start()方法中啓動新線程。run()方法是屬於Runnalble接口的一個方法,start()方法是屬於Thread類的一個方法。需要通過Thread類調用start()來啓動Runnable實現多線程

  15. Java的線程的狀態有6個:NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED。然而,網上有不少資料說有Java線程有5個狀態:NEW, RUNNABLE, RUNNING, BLOCKED, DEAD,這是誤人子弟!我查了查oracle的官方文檔,確定是6個狀態。《操作系統》教科書上面寫的進程的狀態確實有5個。但是注意:Java的線程狀態,不等於operating system的進程狀態。這個知乎問題解答的很好。

  16. 一般的繪製程序要定義一個JPanal子類,在JPanal子類要重寫一個方法,在這個方法中調用繪圖方法,繪製各種圖形。這個要重寫的方法是paintComponent()

  17. 繪製複雜的GUI的套路大致如下:先把一些組件放到中層容器(eg. JPanel)中,設置佈局管理器;再把中層容器和組件,放到新的中層容器,設置佈局管理器;最後把中層容器放到頂級容器(eg. JFrame)裏面去

  18. Java的數組這樣寫是錯的:int array [3] = {1, 2, 3},C++才能這樣寫。Java中,int array[] = {1, 2, 3} 和 int[] array = {1, 2, 3},兩種寫法都行。允許前者的寫法,其實是爲了“迎合”C/C++的程序員的習慣

  19. MouseListener接口能處理的鼠標事件是:mouseEnter(進入),mouseExited(離開),mousePressed(按下),mouseReleased(釋放),mouseClicked(單擊,按下並且釋放)。MouseMotionListener接口能處理的鼠標事件是:mouseMoved(移動), mouseDragged(拖動)

  20. 定義框架大小根據實際情況自動調整的方法爲:pack( )。記憶方法:這個單詞有一個意思:fill to capacity,塞滿。

  21. JDBC訪問數據庫的大致流程: 1. 加載驅動程序,Class.forName(…); 2.創建數據庫連接對象,DriverManager.getConnection(…): Connection; 3.創建Statement對象,Connection.createStatement(…): Statement; 4. 執行SQL語句,Statement.execute(String sql): ResultSet; 5. 對返回的ResultSet進行操作; 6. 最後關閉數據庫連接

  22. 某程序利用網址參數創建URL對象url,接着希望利用對象url獲得URLConnection對象,則這個url對象要調用的方法是openConnection()

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