您好,登錄后才能下訂單哦!
java中靜態方法和非靜態方法有什么區別?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
靜態方法
與靜態成員變量一樣,屬于類本身,在類裝載的時候被裝載到內存中,不自動進行銷毀,會一直存在內存中,直到JVM關閉。
非靜態方法
又稱實例化方法,屬于實例對象,實例化之后才會分配內存,必須通過類的實例來引用,當實例對象被JVM回收之后,也跟著消失。
區別:
首先,兩者本質上的區別是:靜態方法是在類中使用static修飾的方法,在類定義的時候已經被裝載和分配。而非靜態方法是不加static關鍵字的方法,在類定義時沒有占用內存,只有在類被實例化成對象時,對象調用該方法才被分配內存。
其次,靜態方法中只能調用靜態成員或者靜態方法,不能調用非靜態方法或者非靜態成員,而非靜態方法既可以調用靜態成員或者方法又可以調用其他的非靜態成員或者方法。
關于java中靜態方法和非靜態方法有什么區別問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。