張孝祥《Java就業培訓教程》讀書筆記

   1,只要定義有參數的構造方法,都需要再定義一個無參數的構造方法;

     2,構造方法與析構方法都是在對象存在的時候被調用。

    3,finalize()方法是在對象被當成垃圾從內存中釋放前調用,而不是在對象變成垃圾前調用。

    4,main只在類被裝載時調用,因此只會執行一次。在類的實例裏main函數並不會被執行。

    5,類的static屬性在類被裝載時被初始化。

   6,Java參數是值傳遞,且函數的形參是實參的副本。

    7,&&和||均爲短路運算符。a&&b表示當a條件爲false的時候不用運行b條件;a||b表示a條件爲真的時候不會運行b條件.

    8,靜態代碼塊在類被裝載時被執行,且只能被執行一次,靜態塊經常用來進行類屬性(類的靜態屬性)初始化。

    9,單例設計模式:------對某個類只存在她的一個實例。
          類的構造方法要設成靜態的:防止外部用new來實例這個類。
          類有個靜態方法提供給外部用來返回一個該類的一個實例引用。
          該類的實例引用變量是一個靜態變量。同時因爲該類的引用變量是一個靜態變量,所以他暗含了返回的實例是同一個實例。

   10,內部類:
     在類中直接定義的嵌套類的使用範圍,僅限於這個類的內部。
     如果用static修飾一個內部類,這個類就相當於是一個外部定義的類。所以static的內部類中可以聲明static成員,但是,菲static的內部類中的成員是不能聲明爲static的。static的內部類不能再使用外層封裝類的非static的成員變量。
    方法中定義的內部類只能訪問方法中的final類型的局部變量,因爲用final定義的局部變量相當於一個常量,他的生命週期超出了方法運行的生命週期。

   11,如果子類構造方法中沒有顯式調用父類構造方法,而父類中又沒有無參數的構造方法(需要再次說明的是,如果父類沒有顯式的定義任何構造方法,系統將自動提供一個默認的沒有參數的構造方法,這還是等於父類中有無參數的構造方法的),則編譯出錯。

 12,子類對象的實例化過程。
    (1)產生對象並對成員變量默認初始化
     (2)綁定構造方法參數,對構造方法中的形式參數賦值
    (3)如果有this()調用,則調用相應的重載構造方法(被調用的重載構造方法又從步驟2開始執行這些流程),被調用的重載構造方法的執行流程結束後,回到當前構造方法。當前構造方法直接跳轉到步驟6執行
   (4)顯式或者隱式追溯調用父類的構造方法(一直到object類爲止,object類是所有java類的最頂層父類),父類的構造方法又從步驟2開始對父類執行這些流程,父類的構造方法的執行流程結束後,回到當前構造方法,但前構造方法繼續往下執行。
    (5)進行實例變量的顯式初始化操作,也就是 執行載定義成員變量時候就對其進行賦值的語句
    (6)執行當前構造方法的方法體中的程序代碼。
        

13,接口:
  接口的成員都是public訪問類型的
  接口裏的變量默認是用public static final標識的,所以,接口中定義的變量就是全局靜態常量
  實現一個接口就是藥實現該接口的所有方法
  接口中的方法都是抽象的

14,instanceof
    用來判斷是否一個類實現了某個接口,也可以用他來判斷一個實例對象是否屬於一個類

15,自定義的異常必須繼承Exception類

16 ,線程:
    線程的產生:有兩種方法--繼承Thead類和實現Runnable接口
     一個代碼段被執行,一定是在某個線程上運行的,代碼與線程密不可分,同一段代碼可以於多個線程相關聯,在多個線程上執行的也可以是相同的一段代碼。
   實現Runnabel 接口相對於繼承Thead類來說,至少有如下幾點好出:
     (1),同一資源可以被多個相同的程序代碼的線程共享。
      (2),可以避免由於Java的單繼承性帶來的侷限。
  線程的分類:前臺線程和後臺線程
  聯合線程
  線程安全
   線程同步
    對象的鎖旗標
  同步是以犧牲程序的性能爲代價的
  同步分爲 同步代碼塊和同步函數
  對於同步函數,由於他所使用的監視器對象是this,所以當有一個線程進入了synchronized修飾的方法*(獲得監視器),其他線程就不能進入同一個對象的所有使用了synchronized修飾的方法,直到第一個線程執行完他所進入synchronized修飾的方法爲止(離開監視器)。
   線程的死鎖
線程的通信
  Java是通過Object類的wait,notify,notifyAll這幾個方法來實現線程的通信的。

    17,String類有幾個常用的函數:如equalsIgnoreCase indexOf substring

     18,要想成功的從HashTable中檢索數據,用作關鍵字得對對象必須正確的覆蓋了Object.hahCode方法和Object.equals方法。

    19,DataFormat類下的SimpleDateFormat類就相當於一個模板

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