實例方法和類方法的區別

類中的方法可以分爲:

             1.類方法:加關鍵字static修飾的是類方法,也稱爲靜態方法;

             2.實例方法:方法類型前面不加關鍵字static修飾的是實例方法

       當類的字節碼文件被加載到內存時,類的實例方法不會被分配入口地址,只有該類創建對象後,類中的實例方法才分配入口地址,從而實例方法可以被創建的任何對象調用執行。需要注意的是,當我們創建第一個對象時,類中的實例方法就分配了入口地址,當再創件對象時,不在分配入口地址,也就是說,方法的入口地址被所有的對象共享,當搜有的對象都不存在時,方法的入口地址纔會被取消。

實例方法中不僅可以操作實例變量,也可以操作類變量,
類方法不可以操作實例變量(因爲再類創建對象之前,實例成員變量還沒有分配內存)。

      對於類中的類方法,在該類被加載到內存時,就分配了相應的入口地址,從而類方法不僅可以被類的任何對象調用,也可以通過類名直接調用,類方法中的入口地址直到程序退出時才被取消。


      對於static方法,不必創建對象就可以用類名直接調用它,(創建對象會導致類中的實例變量被分配內存空間)
      
      實例方法必須通過類的對象來調用
發佈了43 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章