首頁  >  文章  >  Java  >  java中靜態方法與非靜態方法的區別

java中靜態方法與非靜態方法的區別

王林
王林原創
2019-11-15 17:16:167285瀏覽

java中靜態方法與非靜態方法的區別

靜態方法

與靜態成員變數一樣,屬於類別本身,在類別裝載的時候被裝載到記憶體中,不自動進行銷毀,會一直存在記憶體中,直到JVM關閉。

非靜態方法

又稱實例化方法,屬於實例對象,實例化之後才會分配內存,必須透過類別的實例來引用,當實例對象被JVM回收之後,也跟著消失。

區別:

首先,兩者本質上的差異是:靜態方法是在類別中使用static修飾的方法,在類別定義的時候已經被裝載和分配。而非靜態方法是不加static關鍵字的方法,在類別定義時沒有佔用內存,只有在類別被實例化成物件時,物件調用該方法才被分配記憶體。

其次,靜態方法中只能呼叫靜態成員或靜態方法,不能呼叫非靜態方法或非靜態成員,而非靜態方法既可以呼叫靜態成員或方法又可以呼叫其他的非靜態成員或者方法。

推薦教學:Java教學

以上是java中靜態方法與非靜態方法的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn