year:2017 month:8 day:3

2017-08-03spa

JAVAse對象

1:靜態變量和成員變量的區別:繼承

所屬不一樣:靜態變量屬於類,因此也稱爲類變量生命週期

     成員變量屬於對象,也稱爲實例變量內存

內存中位置不一樣:靜態變量存儲餘方法區的靜態區io

        成員變量存儲於堆內存class

內存出現時間不一樣:靜態變量隨着累的加載而加載,隨着累的消失而消失變量

         成員變量隨着對象的建立而存在,隨着對象的消失而消失方法

調用不一樣:靜態變量能夠經過類名調用,也能夠經過對象調用static

     成員變量只能經過對象名調用

2.成員變量和局部變量的區別

在類中位置不一樣:成員變量:類中方法外

        局部變量:方法內或方法聲明上

在內存中的位置不一樣:成員變量:堆內存

          局部變量:棧內存

生命週期不一樣:成員變量:隨着對象的建立而存在,隨着對象的消失而消失

       局部變量:隨着方法調用存在,隨着方法結束消失

初始化值不一樣:成員變量:有初始默認值

       局部變量:沒有初始默認值

3.類的初始化過程:Student student = new  Student ();

        加載Studnet.class文件進內存

        在棧內存爲student開闢內存

        對學生對象的成員變量進行默認初始化

        對學生對象的成員變量進行顯示初始化

        經過構造方法對學生對象的成員變量賦值

        學生對象初始化完畢,把對象地址賦值給s變量

4.代碼塊:

局部代碼塊:在方法中出現,限定變量聲明週期,及早釋放,提升內存利用率

靜態代碼塊:在類中方法外出現,並加上static修飾符,用於給類進行初始化,在加載類的時候就調用,而且執行一次

構造代碼塊:在類中方法外出現,多個構造方法中相同的相同的代碼存放在一塊兒,每次調用構造方法時執行一次,並在構造方法前執行

5.匿名對象:沒有名字的對象

做用:對象調用方法 ,僅僅一次的時候;做爲實際參數傳遞

6.面向對象基於面向過程:

面向對象的思想:做爲一個指揮者,把過程根據不一樣的功能進行封裝,須要用時進行調用,避免重複,容易修改

面向過程的思想:做爲一個參與者,參與每個過程和步奏並完成它

面向對象的特徵:封裝;繼承;多態

7.static:

隨着類的加載而加載

優先於對象存在

被類的全部對象共用(可跨類)

可經過類名調用

相關文章
相關標籤/搜索