更新時間:2023-04-27 來源:黑馬程序員 瀏覽量:
面向?qū)ο笾校嬖陬惡蛯ο蟮母拍?,我們在類中定義了一些成員變量,例如name,age,sex ,結(jié)果發(fā)現(xiàn)這些成員變量,每個對象都存在(因為每個對象都可以訪問)。
而像name ,age , sex確實是每個學(xué)生對象都應(yīng)該有的屬性,應(yīng)該屬于每個對象。
所以Java中成員(變量和方法)等是存在所屬性的,Java是通過static關(guān)鍵字來區(qū)分的。static關(guān)鍵字在Java開發(fā)非常的重要,對于理解面向?qū)ο蠓浅jP(guān)鍵。static是靜態(tài)的意思。 static可以修飾成員變量或者修飾方法。
有static修飾成員變量,說明這個成員變量是屬于類的,這個成員變量稱為類變量或者靜態(tài)成員變量。 直接用 類名訪問即可。因為類只有一個,所以靜態(tài)成員變量在內(nèi)存區(qū)域中也只存在一份。所有的對象都可以共享這個變量。
例如現(xiàn)在我們需要定義傳智全部的學(xué)生類,那么這些學(xué)生類的對象的學(xué)校屬性應(yīng)該都是“傳智”,這個時候我們可以把這個屬性定義成static修飾的靜態(tài)成員變量。static修飾的靜態(tài)成員變量的格式如下:
修飾符 static 數(shù)據(jù)類型 變量名 = 初始值;
舉個例子,放在把“傳智”這個屬性定義為static修飾的靜態(tài)成員變量,格式如下:
public class Student { public static String schoolName = "傳智播客"; // 屬于類,只有一份。 // ..... }
靜態(tài)成員變量的訪問就可以使用格式:類名.靜態(tài)變量的方式命名。
public static void main(String[] args){ System.out.println(Student.schoolName); // 傳智播客 Student.schoolName = "黑馬程序員"; System.out.println(Student.schoolName); // 黑馬程序員 }