1. 程式人生 > >面向物件第七章

面向物件第七章

###1.記憶體管理:由JVM來管理的------瞭解 1)堆: 1.1)儲存new出來的物件(包括例項變數) 1.2)垃圾:沒有任何引用指向的物件 垃圾回收器(GC)不定時到記憶體中清掃垃圾, 回收過程是透明的(看不到的), 不一定一發現垃圾就立刻回收, 呼叫System.gc()可以建議JVM儘快排程GC來回收 1.3)記憶體洩漏:不再使用的物件還沒有被及時的回收 建議:物件不再使用時應及時將引用設定為null 1.4)例項變數的生命週期: 建立物件時儲存在堆中,物件被回收時一併被回收 2)棧: 2.1)儲存正在呼叫的方法中的區域性變數(包括方法引數) 2.2)呼叫方法時會為該方法在棧中分配一塊對應的棧幀, 棧幀中儲存區域性變數(包括方法引數) 當方法呼叫結束時,棧幀被清除,區域性變數一併失效 2.3)區域性變數的生命週期: 呼叫方法時儲存在棧中,方法結束時與棧幀一併被清除 3)方法區: 3.1)儲存.class位元組碼檔案(包括方法、靜態變數) 3.2)方法只有一份,通過this來區分具體的呼叫物件 ###面向物件三大特徵: 1.封裝: 1)類:封裝的是物件的屬性和行為 2)方法:封裝一段特定的是業務邏輯功能實現 3)訪問控制修飾符:封裝的是具體的訪問許可權 2.繼承: 1)作用:程式碼複用 2)超類:所有派生類所共有的屬性和行為 介面:部分派生類所共有的行為 派生類:派生類所特有的屬性和行為 3)單一繼承、多介面實現,傳遞性 3.多型: 1)意義: 1.1)行為的多型(所有抽象方法都是多型的) 1.2)物件的多型(所有物件都是多型的) 2)向上造型、強制型別轉換、instanceof判斷 3)多型的表現形式: 3.1)重寫:根據物件的不同來表現多型 3.2)過載:根據引數的不同來表現多型 ###例項變數: 1)類中,方法外 2)建立物件時儲存在堆中,物件被回收時一併被回收 3)有預設值 ###區域性變數: 1)方法中 2)呼叫方法時儲存在棧中,方法結束時與棧幀一併被清除 3)沒有預設值