SCJP 要點記錄

來源:互聯網
上載者:User

Section 1:Declaration And Access Control
1 ,在數組的聲明語句中不能指定元素的個數
2,數組的索引下標為int型,short,byte,char可以自動轉為int型,long型導致編譯錯誤
3,JAVA不支援多維陣列,但支援數組的數組
4,重寫方法不能有更嚴格的存取權限
5,注意native, transient,synchronized,volitile等modifiers.
6,在建構函式中可用this(argument)調用該類中其它的重載建構函式
7,super(this),this(argument)要放在建構函式的第一句
8,建立對象的順序:
  1:靜態變數初始化;
  2:執行靜態初始化,如果有多個靜態初始化塊,則按照編寫的次序來執行;
  3:執行建構函式的頭部,無論顯式的隱式的this() or super() called;
  4:執行顯式的執行個體變數的初始化及執行個體化初始化塊;
  5:執行剩下的建構函式中的代碼
---------------------------------------------------------------------------------------------------------------------
Section 2:Flow Control Assertions,And Exception Handling
1,switch (a){case b:....}a可以為byte,short,char,int(可自動轉化為int) ;b為常量運算式,編譯時間要知道值
2,編譯器會根據a的資料類型check b 的值 byte b,case 200//compiler error because 200 out of  range of byte
3,try/catch代碼塊中,在聲明catch代碼塊的參數類型時應先聲明子類然後聲明父類,不能順序顛倒
4,重寫的方法將不能拋出在父類中沒有檢測的異常
---------------------------------------------------------------------------------------------------------------------
Section 3:Language fundamentals
1,在檔案中至多有一個為被聲明為public,且類名與檔案名稱一樣
2,在檔案中不一定必有public 類,在沒有public類時,檔案名稱應與類名不一致
3,介面中所有方法都隱含public和abstract修飾符(不能是static和其它的修飾符),所有變數都隱含static,public,final修辭符(不能是transient和volatile)
---------------------------------------------------------------------------------------------------------------------
Section 6:Overloading,Overwriting,RuntimeType,And Object Orientation
1,Variable is resolved at compile time,Method is resolved at run time,Static method is resolved at compile time。
2,方法的調用是依賴於對象的類型而不是引用的類型,所以不可能在子類中調用父類的父類的方法,但可以利用this的參考型別沿著繼承向上訪問父類的父類的的變數。eg.(grandparent)(this).variable
3,Method of private modifier is can't be extended.also can't be overwritted and overridden
---------------------------------------------------------------------------------------------------------------------
關於gc()
無用對象完整的判斷規則是:沿著對象的引用的被內含項目關聯性追溯不到根對象或活動線程時,則這個對象被稱為無用對象。
gc()的意義是“喚醒”記憶體回收線程,相當於對垃圾收集線程調用了notify()函數,但不一定會執行。記憶體回收線程只有兩種情況可以由
JVM調用:系統在運行過程中處於空閑狀態和記憶體資源使用不足。
在JAVA中分為代碼區,資料區,堆區,棧區,
記憶體回收只能管理的記憶體地區僅限於堆區。記憶體地區分配詳細說明:JAVA很類似c/c++中的記憶體管理
一個對象的存在形式分成了兩個部:引用和引用指向的記憶體塊。引用在函數中聲明,佔有的空間在函數啟動並執行棧區開闢,依賴於函數是否在棧中運行;引用指向的記憶體塊由 記憶體回收機制處理。
關於多態的調用:
1,編譯
根據對象的參考型別所在的類中是否定義了這個成員而確定編譯是否正確。如果在參考型別所對應的類中,定義了該類,correct,否則compile error。還可以擴充為:如果在該參考型別所對應的類中沒有這個成員,而在其父類中定義了同名的成員,則編譯正確。如果在該參考型別所對應的類中沒有定義這個成員,而在子類中定義了同名成員,compile  error,即父類不能引用子類中追加的成員。
2,運行
調用成員變數時,將調用參考型別所對應的類中的成員變數,如果該類中沒有定義該變數,而父類中定義了同名成員變數,那麼將調用父類中的同名變數。調用函數時,將根據對象的運行時類型來確定調用那個成員函數,運行時類型量那個類的類型,那麼就調用那個類中定義的成員函數。若類中沒有定義則在父類尋找
建構函式執行的規律:
1;建構函式的執行總是向上調用的,而且總是先執行完父類的建構函式,然後才能執行子類推建構函式。
2;在建構函式中,沒有this(argument)語句則有super(argument)語句(if hidden,system auto insert  super() to here)。
3;顯式的建構函式總是先於建構函式語句。
---------------------------------------------------------------------------------------------------------------------
MouseListener,KeyListener,WindowListener have Event Adapter.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.