java中static關鍵字的作用


static關鍵字的作用

static可以修飾變量、方法、代碼塊和內部類

static屬性屬於這個類所有,即由該類創建的所有對象共享同一個static屬性。可以對象創建后通過對象名.屬性名和類名.屬性名兩種方式來訪問。也可以在沒有創建任何對象之前通過類名.屬性名的方式來訪問。

static變量和非static變量的區別(都是成員變量,不是局部變量)

1.在內存中份數不同

不管有多少個對象,static變量只有1份。對於每個對象,實例變量都會有單獨的一份

static變量是屬於整個類的,也稱為類變量。而非靜態變量是屬於對象的,也稱為實例變量

2.在內存中存放的位置不同

2.在內存中存放的位置不同

3.訪問的方式不同

實例變量: 對象名.變量名 stu1.name="小明明";

靜態變量:對象名.變量名 stu1.schoolName="西二旗小學"; 不推薦如此使用

類名.變量名 Student.schoolName="東三旗小學"; 推薦使用

4.在內存中分配空間的時間不同

Student.schoolName="東三旗小學";或者Student stu1 = new Student("小明","男",20,98);

static方法也可以通過對象名.方法名和類名.方法名兩種方式來訪問

static代碼塊。當類被第一次使用時(可能是調用static屬性和方法,或者創建其對象)執行靜態代碼塊,且只被執行一次,主要作用是實現static屬性的初始化。

static內部類:屬於整個外部類,而不是屬於外部類的每個對象。不能訪問外部類的非靜態成員(變量或者方法),.可以訪問外部類的靜態成員


免責聲明!

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



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