類、變量、封裝

  成員變量 局部變量
類中方法外 方法內或者方法聲明上
內存 堆內存 棧內存
生命週期 隨着對象的存在而存在,隨着對象的消失而消失 隨着方法的調用而存在,隨着方法的調用完畢而消失
默認值

有默認值安全

沒有默認值,必須先定義,賦值,才能使用

匿名對象

        沒有名字的對象;是對象的一種簡化表示形式(new 對象())this

        兩種使用狀況spa

                 對象調用方法僅僅一次的時候對象

                 做爲實際參數傳遞生命週期

封裝

        隱藏對象的屬性和實現細節,僅對外提供公共訪問方式內存

        優勢 隱藏實現細節,提供公共的訪問方式ci

                  提升了代碼的複用性string

                 提升安全性table

        原則class

                 將不須要對外提供的內容都隱藏起來

                 把屬性隱藏,提供公共方法對其訪問

構造方法

        給對象的數據進行初始化

        格式: 方法名與類名相同;沒有返回值類型,連void都沒有;修飾符可爲(pubic、protected、默認、private)

        注意事項: 不提供構造方法,系統會給出默認的無參構造方法

                           提供構造方法,系統將再也不提供默認的無參構造方法

                           構造方法能夠重載

類的初始化過程

        Demo d = new Demo();

        1 加載Demo.class文件進內存

        2 在棧內存爲d開闢空間

        3 在堆內存爲Demo對象開闢空間

        4 對Dmeo的成員變量進行默認初始化

        5 對Demo的成員變量進行顯示初始化

        6 經過構造方法對成員變量進行賦值

        7 初始化完畢,把對象地址賦值給d變量

 

變量何時定義爲成員變量

        若是這個變量是用來描述這個類的信息,該變量就應該定義爲成員變量

變量定義的範圍

        越小越好,由於能及時的被回收

Static關鍵字

        1 能夠修飾成員變量和成員方法

        2 隨着類的加載而加載

        3 優先於對象存在

        4 被類的全部對象共享

        5 能夠經過類名調用

        6 存在於方法區的靜態區

注意事項

        在靜態方法中時沒有this關鍵字的

        靜態方法只能訪問靜態的成員變量和靜態的成員方法

  靜態變量 成員變量
所屬 屬於類,也稱爲類變量,對象的共享數據 屬於對象,也稱爲實例變量(對象變量),對象的特有數據
內存 方法區的靜態區
生命週期 隨着類的加載而加載,隨着類的消失而消失 隨着對象的建立而存在,隨着對象的消失而消失
調用 能夠經過類名調用,也能夠經過對象調用

只能經過對象名調用

 

public static void main(Sting[] args){}

        public被JVM調用,訪問權限足夠大

        static被JVM調用,不用建立對象,直接類名訪問

        void 被JVM調用,不須要給JVM返回值

        main 一個通用的名稱,不是關鍵字,可是被JVM識別

        string[] args 之前用於接收鍵盤錄入的數據

  本類 同包 同包 不一樣包 不一樣包
    子類 其它類 子類 其它類
private        
默認    
protected  
public
相關文章
相關標籤/搜索