這篇文章是對于剛開始學習java的同學整理的知識點 希望對你有一些幫助
面向對象:即類與對象的關系,類是對某一類事務的描述,是抽象的、概念上的定義;對象是實際存在的該類事務的每個個體因而也稱執行個體(instance)
類的定義
:必須先有類再有對象 對象的建立及使用
: 記憶體劃分,棧記憶體與堆記憶體的關系:
對象儲存在棧記憶體之中,而具體内容儲存在堆記憶體之中。
對象間的引用傳遞,實際上傳遞的就是堆記憶體空間的使用權。
●
聲明對象: 類名 對象名稱,棧記憶體中聲明的,與數組一樣,數組名稱就儲存在棧記憶體之中,隻開辟了棧記憶體的對象是無法使用的,必須有其堆記憶體才可以使用。
●
執行個體化對象: new 類名(),在堆記憶體中開辟空間,所有的内容都是預設值。
/String: 是一個字元串,本身是一個類,就是一個引用資料類型,預設值為null。
/int: 是一個整數,本身是一個數,是以是基本資料類型,預設值為0。
●
使用格式: 調用屬性:對象 .屬性 調用方法:對象 .方法()
封裝
: 封裝就是保護内容,保證某些屬性或方法可以不被外部看見。
●
通路權限: 私有的private,公共的public,受保護的protected
其中private是最基本的,也是最常見的
●
setter與getter方法: 如需假如驗證時,可以寫在setter方法中
構造方法
: 隻要一有對象執行個體化就會調用構造方法,每個類都至少有一個構造方法,預設為空構造。構造方法的
主要目的 是為類中的屬性初始化。
●
原則: ●
定義格式: ●
匿名對象: 在Java中如果一個對象隻使用一次,則就可以将其定義成匿名對象,即隻 開辟了堆記憶體的執行個體對象。
String類
: ●
兩種執行個體化方式: /直接指派: String str=“hello”;
/通過關鍵字new指派: String str = new String(“hello”);
●
字元串的内容一旦聲明就不可改變: ●
使用“equals”比較: 判斷具體的内容是否相等
●
使用“==”比較: 判斷位址空間是否相等,判斷的是位址值。
●
常用方法: 詳情請輕按兩下檢視此文檔 ●
一個字元串就是String的匿名對象,String要使用直接指派方式,因為 使用new會開辟兩個空間,造成記憶體浪費 this關鍵字
: ●
表示類中的屬性: this.屬性
●
使用this調用構造方法: this()調用構造方法的語句隻能放在構造方法首 行;在使用this調用本類中其他構造的時候,至少有一個構造方法是不用 this調用的。
●
使用this表示目前對象: static關鍵字
: ●
使用static聲明屬性: 由static聲明的屬性為全局屬性
●
聲明static方法: 使用static方法,不能調用非static的屬性或方法,
因為static屬性或方法可以在對象沒有執行個體化的時候直接進行調用。
代碼塊:
●
普通代碼塊: 直接定義在方法中的代碼塊。
●
構造塊: 将代碼直接定義在類中。構造塊優先于構造方法執行,且執行多 次,隻要一有執行個體化對象産生,就執行構造塊中的内容。
●
靜态代碼塊: 直接使用static關鍵字聲明的代碼塊。靜态塊優先于主方法 執行,如果在普通類中定義靜态塊,優先于構造塊執行,不管有多少個執行個體 化對象産生,靜态塊隻執行一次,主要功能是為靜态屬性初始化。
在靜态塊執行完畢後需要使用程式退出指令。
單例模式: 對象數組
: ●
靜态初始化: ●
動态初始化: 内部類
: 在一個類的内部還存在另外一個類
●
缺點: 正常的一個類操作時,在類中最好隻定義屬性或方法,如果定義一 個類,則會破壞程式的結構。
●
優點: 可以友善的通路外部類中的私有屬性。
●
使用static聲明内部類: 如果一個内部類使用static關鍵字聲明,則此 内部類就稱為外部類,可以直接通過
外部類 .内部類 進行通路。
●
在外部通路内部類: 一個類除了可以通過外部類通路,也可以在其他類中 直接調用。
外部類 .内部類 内部類對象 = 外部類執行個體 .new 内部類(); ●
在方法中定義内部類: 繼承
: 子類繼承父類,可以擴充已有類的功能。
●
繼承的格式: ●
extends關鍵字: 稱為擴充,子類擴充一個類,子類也稱為派生類。
●
繼承的限制: ●
繼承的通路限制: ●
子類對象執行個體化過程: ●
方法的覆寫: ●
方法重載與覆寫的差別: ●
super關鍵字的使用: /在子類構造方法中: super(父類屬性1,父類屬性2,...)
/在子類方法中: super.父類方法名();
●
super與this的差別: final關鍵字
: ●
全局常量: 抽象類:抽象類不能執行個體化,子類必須覆寫抽象類中所有的抽象方法。
●
定義及使用規則: ●
格式: ●
抽象類不可以使用final關鍵字聲明: ●
抽象類中可以定義構造方法: 接口
:一個類中完全是由全局常量(static final聲明)和抽象方法組成 ●
格式: ●
接口的實作: ●
繼承抽象類實作接口: ●
接口的繼承: 多态
: ●
對象的多态性: instanceof關鍵字:
一個類永遠不要去繼承一個已經實作好的類,隻能繼承抽象類或實作接口。 Object類: ●
主要的方法: 如果有啥不對和不得體的地方請大家指出 !