Java中靜態變量與非靜態變量的區別


 ①java類的成員變量有倆種:

        一種是被static關鍵字修飾的變量,叫類變量或者靜態變量
        另一種沒有static修飾,為成員變量
 
    ②通俗點說:
        類的靜態變量在內存中只有一個,java虛擬機在加載類的過程中為靜態變量分配內存,靜態變量位於方法區,被類的所有實例共享。靜態變量可以直接通過類名進行訪問,其生命周期取決於類的生命周期。
        而實例變量取決於類的實例。每創建一個實例,java虛擬機就會為實例變量分配一次內存,實例變量位於堆區中,其生命周期取決於實例的生命周期。
 
注意點:
    1.JAVA中初始化的順序:
        加載類;
        靜態變量初始化;
        靜態塊;【其只能調度靜態的,不能調度非靜態的】
        成員變量;
        構造方法; 
 
    2.為顯示靜態塊的優先級,我來顯示一個沒有Main方法的程序,javac后其是沒有任何錯誤的。
public class Test {
    static {
        System.out.println("static ");
        System.exit(0);
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM