java靜態方法區別
發布時間: 2023-08-09 03:38:33
⑴ 什麼是java語言中所說的非靜態方法,它和靜態方法有何區別
非靜態方法是相對於靜態方法來說的。靜態方法使用static關鍵字來標示,非靜態方法沒有此關鍵字。
他們之間最大的區別在於它們生命周期的不同,靜態方法屬於全局方法,當靜態方法第一次被訪問的時候,就將常駐內存直到整個系統被銷毀;而非靜態方法則與類有關,只有該方法所在的類被實例化之後,該方法才能被訪問,類被銷毀的同時方法也被銷毀。生命周期的不同決定了它們的調用方式的不同,靜態方法使用(類名.方法名)來調用,而非靜態方法則需要(new類名().方法名)來調用。
同時與之相關的就是,靜態方法不能調用非靜態方法和屬性。在了解了它們生命周期的不同後,這一點也比較好理解,因為靜態方法生命周期比非靜態方法和屬性長,當調用非靜態方法和屬性時就會產生非靜態方法和屬性已經被銷毀的情況導致程序出錯。
⑵ Java中static方法和普通方法的區別
static方法就是靜態方法。
靜態方法是類方法,類名即可引用。
普通方法是對象方法,需要實例化對象才可以引用
⑶ java調用靜態方法和非靜態方法的區別
靜態方法從屬於類,非靜態方法屬於對象,靜態方法在類載入的時候就已經初始化了,而非靜態方法語言對象實例化之後才能初始化。
內存分析:靜態內存是指在程序開始運行時由編譯器分配的內存,它的分配是在程序開始編譯時完成的,不佔用CPU資源
熱點內容