面向?qū)ο髲?fù)習筆記

初始值:

  • 成員變量:自動擁有初始值0
  • 局部變量:不會有初始值,所以要給初始值
  • 特別注意:
    同一方法不能有同名局部變量
    不同方法中可以有同名局部變量
    兩類變量同名時,局部變量具有更高的優(yōu)先級(就近原則)

靜態(tài)方法:

  • 注意:
    • 靜態(tài)方法能直接調(diào)用同類中的靜態(tài)變量,但不能調(diào)用非靜態(tài)變量。想要調(diào)用必須先實例化一個對象。
    • 而普通方法則都可以調(diào)用。

靜態(tài)初始化塊

  • 執(zhí)行優(yōu)先級:
    靜態(tài)初始化塊>初始化塊>構(gòu)造函數(shù)
  • 注意:
    靜態(tài)初始化塊只在加載類的時候加載一次,且只能初始化靜態(tài)變量的值,不能初始化普通變量。

final 關(guān)鍵字

  • final修飾屬性:
    該類的這個屬性必須在屬性初始化或者構(gòu)造方法初始化的時候進行賦值(只能賦值一次,且只能而且必須在一處,要么屬性初始化,要么構(gòu)造方法,不能都進行賦值,也不能都不賦值,以前說屬性會自動賦值0,但是加了final關(guān)鍵字之后就不會自動賦值)
  • final修飾變量:
    只能在聲明變量時進行賦值。(只能賦值一次)即變?yōu)槌A俊?/li>

super關(guān)鍵字

  • 意思:父類
  • 注意:
    1、子類的構(gòu)造方法中必須調(diào)用父類的構(gòu)造方法。
    2、如果子類的構(gòu)造方法沒有顯式調(diào)用父類的無參的構(gòu)造方法,則系統(tǒng)默認調(diào)用父類無參的構(gòu)造方法。
    3、如果顯式調(diào)用父類構(gòu)造方法,必須在子類構(gòu)造方法的第一行。
    4、如果子類構(gòu)造方法中沒有顯式調(diào)用父類的構(gòu)造方法,因為會默認調(diào)用父類的無參構(gòu)造方法,而如果父類定義了構(gòu) 造方法而沒有定義無參的構(gòu)造方法,因為定義了有參所以系統(tǒng)不會自動生成一個無參的,所以會報錯。
  • 注意:
    • 一個類只可以繼承一個類(單繼承),但一個類可以實現(xiàn)多個接口。(多繼承)
    • 接口內(nèi)容只有常量和抽象方法。
    • 系統(tǒng)會自動讓接口變成抽象類,讓接口內(nèi)的方法變成抽象方法,讓接口內(nèi)的變量變成常量。

類的修飾符

  • 分為:可訪問控制符和非訪問控制符兩種。
    • 可訪問控制符是: 公共類修飾符 public
    • 非訪問控制符有:抽象類修飾符 abstract
    • 最終類修飾符:final

UMl

  • 用例圖(Use Case Diagram):從用戶角度描述系統(tǒng)功能。
  • 類圖(Class Diagram):描述對象模型中類與類之間的關(guān)系。
  • 組件圖(Component Diagram):描述系統(tǒng)中各個組件之間的依賴關(guān)系,還可以描
    述組件的源代碼組織結(jié)構(gòu)。
  • 部署圖(Deployment Diagram):定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。

類圖

  • · + :表示public
  • · - :表示private
  • · #:表示protected(friendly也歸入這類)

?向?qū)ο笾杏?個重要原則『多?組合、少?繼承』或者說『組合優(yōu)于繼承』。

不同包中相同名字的類的使用方法

import java.util.Date; 
import java.sql.*; 
java.util.Date deadLine = new java.util.Date();
java.sql.Date today = new java.sql.Date();

  • 包名的聲明必須出現(xiàn)在第一行;
  • 默認包沒有名稱;
  • 父包與子包:
  • 子包需要顯式引用
  • 父包不包含子包

包裝類的特點:

  1. 所有的包裝類都是final類型,不能創(chuàng)建子類
  2. 包裝類是不可變類,不可強制轉(zhuǎn)換

字符串的split參數(shù)

泛型潛在問題

  • 潛在問題一
    如果Foo是Bar的?類型(?類或接?實現(xiàn)類),G是?個泛型類,
    那么G<Foo>并不是G<Bar>的?類型。
  • 潛在問題?
    drawAll只能接受
    List<Shape>,不能夠接受
    Shape?類的數(shù)組。

通配符相關(guān)用法

通配符的一個注意點

Hash集合要求兩個對象用equals()方法比較的結(jié)果為true時,它們的哈希碼也相等。

異常處理原則

  1. 避免過大的try語句塊;
  2. 細化異常的類型,不要都用Exception;
  3. 自己能處理的異常不要拋給別人;
  4. 不要用try-catch實現(xiàn)控制流程的跳轉(zhuǎn);
  5. 盡可能重用已經(jīng)存在的異常類。
  6. try語句塊不能單獨存在,catch語句塊可以有一個或多個,finally語句塊最多一個;
  7. try-catch-finally均不能單獨使用;
  8. 有多個catch塊時,Java會按順序匹配,如找到匹配則不會繼續(xù)執(zhí)行后面的catch;
  9. throw語句后的語句不會被執(zhí)行
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容