讀 thinking in java記錄

一、對象

1、面向對象:所有皆對象,程序是對象的組合,都有自己的存儲空間,同類型能接收相同消息,類就是相同屬性的事務總稱

2、利用訪問控制避免接觸不該接觸的,通過接口瞭解如何使用而不需要知道具體實現

3、類的相互嵌套引出了“組織”,也就是類包含類

4、繼承實現代碼複用,達到可擴展

5、多態的動態綁定在運行期才知道具體調用(向上轉型),抽象類不能實現,抽象方法只能在抽象類中,且子類需實現它除非子類也是抽象類

6、容器只能存儲對象,所有對象的頂級都是Object

7、GC解決內存釋放

8、異常處理解決錯誤

9、多線程解決並行運算

10、保存位置:寄存器、堆、棧、靜態區域、常量存儲、硬盤或流

11、應用:創建(new),變量,基本類型(八種),數組,作用域(花括號),類創建(class)

12、變量:成員變量/全局變量(堆中,因爲對象在堆中)和本地變量/局部變量(基礎類型在棧,對象在堆),局部變量不可用修飾符也不會自動初始化也不可用static

13、方法:返回類型 方法名(){}

14、包和引入:包(package)解決了類型衝突,引入(import)提供其他類的引用方式

15、靜態:static類型的數據或方法不屬於某一個對象,共用一片內存

二、程序流程

1、運算符多數只能修飾基礎類型,除了“=”,“==”,“!=”,String還支持“+”,“+=”

2、普通算術運算符、一元運算符、自動增減、關係運算符、邏輯運算符(短路)、移位運算(<<,<<<)、三元運算符(if-else)、自動向高位轉型

3、if-else、while、do-while、for、break、continue、switch-case(break,default)

三、程序初始化

1、構造器:沒有返回值,當存在有參的構造器則系統不會有默認無參構造器(即不能直接new無參的對象)

2、this:指向當前對象,多用於構造器間調用

3、static:依賴於類而不是對象,沒有this

      static變量/代碼塊:內存中只有一份,創建對象時最先加載,不能爲局部變量

      static方法:static方法不可調非static方法/變量,相反則可以

4、final:會對變量,方法,類進行優化,提高性能,多線程下安全,編譯期綁定

      final變量:需賦初始值(聲明時或者構造器中),修飾變成常量,若修飾對象只是引用爲常量,對象屬性值仍可變,接口中變量都final

      final方法:不能被重寫(private方法默認會加上final)

      final類:不能被繼承(該類方法也就默認爲final)

5、abstract:

      abstract方法:必須在abstract類中,沒有方法體(interface中方法都是)

      abstract類:不能被new,內部可以有非abstract方法

6、finalize:GC回收前調用的方法,強行執行回收(System.gc())

7、重載:參數個數、參數類型、不同類型下參數順序(跟返回值或權限無關),子類和父類之間也可以形成

四、訪問控制

1、public、protected、friendly、private

2、class不能用private或者protected(內部類除外)

3、perr()和assert()斷言測試

五、繼承

1、繼承中重寫子類返回值也要一樣,修飾符範圍要更大,static和final的不能被繼承 

2、子類父類定義相同的字段,父類的會隱藏,可用super()調用

3、子類可以調用父類非private的屬性或者方法

六、多態

1、三條件:繼承、重寫和向上轉型

2、內部類實例化用 OutClass.InClass test = new OutClass.InClass()

七、集合

1、Collection -- List -- ArrayList、LindedList

                          Set -- HashSet、TreeSet

      Map -- HashMap、TreeMap、HashTable

2、排序:

      Comparable:Person implements Comparable,Collections.sort(list)

      Comparator:PeopleComparator implement Comparator,Collections.sort(list,new PeopleComparator())

八、異常

1、Throwable -- Error:Error是系統級別錯誤,是不可預測的

                          Exception -- Checked Exception:可檢查異常,除了RuntimeException及其子類外都是,在程序中顯式catch或者throws

                                               Unchecked Exception:不可檢查異常,RuntimeException及其子類外都是,不需在程序中顯式處理

 

2、常見異常:NullPointerException、ClassNotfoundException、IOException、ClassCastException、FileNotFoundException、IndexOutOfBoundsException、SQLException

 

 

 

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