靜態變量和實例變量的區別(配圖解釋專業術語,通俗易懂)



1:首先在語法定義上區別:靜態變量前面要加static,實例變量不用

 

2:在程序運行時:

  實例變量輸入對象的屬性,必須創建了實例對象(如 new)才會被分配空間,才可以使用實例變量,靜態變量不屬於某個實例對象,而是屬於類,也叫類變量,只要程序加載了類的字節碼,不用創建任何實例對象就會被分配空間,就可以被使用

3:總之,實例變量必須創建對象后才可以通過這個對象來使用,靜態變量則可以直接使用類名來引用。

注意:(static)靜態變量的使用也是有局限性的,一個靜態方法中不能調用類中的非靜態的方法和變量,static修飾的變量在類加載后在內存中只有一份內存空間,可以被一個類的所有實例對象所共享,如:總庫100張票,4個窗口賣火車票,賣的都是總庫里的票,無論是哪個窗口賣掉的票,總票都會減一。

 

public class BainLiang {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //直接調用測試:
        System.out.println(QuBie.staticInt);
        // System.out.println(QuBie.shiInt);//報錯
        QuBie qb1 = new QuBie();
        QuBie qb2 = new QuBie();
        qb1.shiInt = 8;
        qb1.staticInt = 8;//這里改變以后,再創建的對象也是會用改過的數值
        QuBie qb3 = new QuBie();
    }
}

class QuBie {
    public static int staticInt = 0;
    public int shiInt = 0;

    public QuBie() {
        staticInt++;
        shiInt++;
        System.out.println("靜態變量" + staticInt + "   實例變量" + shiInt);
    }
} 

靜態變量   這種寫法在生活中非常使用,如買火車票,一共100張,有4個窗口在賣,也就是說一定要公用一個資源,也就是要定義成static。

JAVA 基本數據類型和引用數據類通過參數傳遞詳解

Java設計模式總匯

 

 

(適配器、單例、靜態代理、簡單工廠設計模式)https://www.cnblogs.com/cmusketeer/p/8146510.html

 


免責聲明!

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



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