1. 程式人生 > >JAVA知識點總結篇(三)

JAVA知識點總結篇(三)

null 軟件開發 形式 業務需求 存儲 valueof 實現接口 運行 包裝

抽象類

  • 使用規則
    • abstract定義抽象類;
    • abstract定義抽象方法,只有聲明,不需要實現;
    • 包含抽象方法的類是抽象類;
    • 抽象類中可以包含普通方法,也可以沒有抽象方法;
    • 抽象類不能直接創建,可以定義引用變量;

接口

  • 定義:一種特殊的類,由全局常量和公共的抽象方法所組成;
  • 類是一種具體實現體,而接口定義了某一批類所要遵守的規範,接口不關心這些類的內部數據,也不關心這些類中方法的實現細節,它只規定這些類中必須提供某些方法;
    技術分享圖片
  • 接口使用:一個類可以實現一個或多個接口,實現接口使用implements關鍵字。Java中一個類只能繼承一個父類,可以通過多個接口做補充;
    技術分享圖片

UML

  • 定義:統一建模語言或標準建模語言,是一個支持模型化和軟件系統開發的圖形化語言,為軟件開發的所有階段提供模型化和可視化支持;

異常

  • 處理運行時異常時,采用邏輯去合理規避同時輔助try-catch處理;
  • 在多重catch塊後面,可以加一個catch(Exception)來處理可能被遺漏的異常;
  • 對於不確定的代碼,也可以加上try-catc,處理潛在的異常;
  • 盡量去處理異常,切忌只是簡單的調用printStackTrace()去打印輸出;
  • 具體如何處理異常,要根據不用的業務需求和異常類型去決定;
  • 盡量天劍finally語句塊去釋放占用的資源;

字符串

  • String對象創建後不能被修改,是不可變的,所謂的修改其實是創建了新的對象,所指向的內存空間不同;
  • 每次new一個字符串就是產生了一個新對象,即便兩個字符串的內容相同,使用"=="比較時也為false,若只需比較內容是否相同,應使用eauals()方法;
    技術分享圖片
  • ==equals()的區別
    • ==判斷兩個字符串在內存中首地址是否相同,即判斷是否同一個字符串對象;
    • equals:比較存儲在兩個字符串對象中的內容是否一致;
  • StringBuffer是線程安全的,而StringBuilder則沒有實現線程安全功能,所以性能更高;

包裝類

  • 基本類型和包裝類之間的對應關系:
    技術分享圖片

  • 包裝類提供的兩大類
    • 將本類型和其他基本類型進行轉換的方法;
    • 將字符串和本類型及包裝類互相裝換的方法;
  • 裝箱:把基本類型轉換成包裝類,使其具有對象的性質,又可分為手動裝箱和自動裝箱;
  • 拆箱:把包裝類對象轉換程基本類型的值,分為手動拆箱和自動拆箱;

  • 基本類型轉換為字符串的三種方法:
    • 使用包裝類的toString()方法;
    • 使用String類的valueof()方法;
    • 用一個空字符串加上基本類型,得到的就是基本數據類型對應的字符串;
  • 將字符串轉換為基本類型的兩種方法:
    • 調用包裝類的parseXxx靜態方法;
    • 調用包裝類的valueOf()方法轉換為基本類型的包裝類,會自動拆箱;

時間

  • 調用SimpleDateFormat對象的parse()方法時可能會出現轉換異常,即ParseException,因此需要進行異常處理;
  • 使用Date類時需要導入java.util包,使用SimpleDateFormat時需要導入java.text包;
  • 調用Calendar獲取月份時,月份是從0開始的;
    技術分享圖片

Math類

  • Math位於java.lang包中,包含用於執行基本數學運算的方法,類中所有方法懂事靜態方法,可以直接使用類名.方法名()
    技術分享圖片

集合框架

  • 定義:一種工具類,就像是容器,儲存任意數量的具有共同屬性的對象;
  • 作用
    • 在類的內部,對數據進行組織;
    • 簡單而快速的搜索大數量的條目;
    • 有的集合接口,提供一系列排列有序的元素,且可以在序列中間快速插入或者刪除有關元素;
    • 有的集合接口,提供映射關系,可以通過關鍵字(key)去快速查找到對應的唯一對象,而這個關鍵字可以是任意類型;
  • 數組與集合區別
    • 數組長度固定,集合長度可變;
    • 數組只能通過下標訪問元素,類型固定,而有的集合可以通過任意類型查找所映射的具體對象;
      技術分享圖片
  • Collection接口
    • 是List、Set、Queue接口的父接口;
    • 定義了可用於操作List、Set、Queue的方法--增刪改查;
  • List接口及其實現類--ArrayList
    • List是元素有序且可重復的集合,被稱為序列;
    • List可以精確控制每個元素的插入位置,或刪除某個位置元素;
    • ArrayList--數組序列,是List的一個重要實現類;
    • ArrayList底層由數組實現;
  • Map接口
    • Map提供了一種映射關系,其中的元素是以鍵值對(key-value)的形式存儲的,能夠實現根據key快速查找value;
    • Map中的鍵值對以Entry類型的對象實例形式存在;
    • 鍵(key)不可以重復,value可以;
    • 每個鍵最多只能映射到一個值;
    • Map接口提供了分別返回key值集合、value值集合以及Entry(鍵值對)集合的方法;
    • Map支持泛型,形如:Map<K,V>;
  • HashMap類
    • HashMap是Map的一個重要實現類,也是最常用的,基於哈希表實現;
    • HashMap中的Entry對象時無序排列的;
    • Key值和value值都可以為null,但是一個HashMap只能有一個key值為null的映射(key值不可重復);

JAVA知識點總結篇(三)