1. 程式人生 > >Java學習二(面向對象)day010

Java學習二(面向對象)day010

內存 內存管理 nts 封裝 style 代碼復用 控制 特定 訪問

day10

1.內存管理
    1)堆:
        1.1)存儲new出來的對象
        1.2)垃圾:沒有任何引用所指向的對象
               垃圾回收器(GC)不定時到內存中清掃垃圾
               回收過程是透明的(看不到的),不一定一發現垃圾就立刻回收
               調用System.gc()可以建議虛擬機盡快調度GC來回收垃圾
        1.3)實例變量的生命周期
                創建對象時存在堆中,對象被回收時一並被回收
        1.4)內存泄露:不再使用的對象還沒有被及時回收
                建議:不再使用的對象及時將引用設置為null
    2)棧:
        2.1)正在調用的方法中的局部變量(包括方法的參數)
        2.2)調用方法時,在棧中為該方法分配一塊對應的棧幀,
               棧幀中存儲方法中的局部變量(包括方法的參數).
               方法調用結束時,棧幀被清除,局部變量一並被清除
        2.3)局部變量的生命周期:
                方法調用時存在棧中,方法結束時與棧幀一並被清除
    3)方法區:
        3.1)存儲.class字節碼文件(包括方法、靜態變量)
        3.2)方法只有一份,通過this來區分具體的訪問對象


面向對象三大特征:

1.封裝:
    1)類:封裝的是對象的屬性和行為
    2)方法:封裝一段特定的業務邏輯功能
    3)訪問控制修飾符:封裝的是具體的訪問權限
2.繼承:
    1)作用:代碼復用
    2)超類:所以派生類所共有的屬性和行為
        接口:部分派生類所共有的行為
        派生類:派生類所特有的屬性和行為
    3)單一繼承、多接口實現,傳遞性
3.多態:
    1)行為多態(所有抽象方法都是多態的)
        對象多態(所有對象都是多態的)
    2)向上造型、強制類型轉換、intstanceof
    3)多態的表現形式:
        3.1)重寫:根據對象的不同來多態
        3.2)重載:根據參數的不同來多態 

Java學習二(面向對象)day010