這里借一本java基礎(chǔ)教材出上的關(guān)于對static的一些講解繼續(xù)學(xué)習(xí)。
被聲明為static的變量,常量,方法被稱為靜態(tài)成員。靜態(tài)成員是屬于類所有的,區(qū)別于個別對象,可以在本類或其他類使用類名和“.”運算符調(diào)用靜態(tài)成員,語法格式如下:
類名.靜態(tài)類成員
創(chuàng)建StaticTest類,來調(diào)用靜態(tài)成員并加以理解:
該類的主方法調(diào)用靜態(tài)成員并在控制臺中輸出
public class StaticTest { static double PI = 3.1415; //在類中定義靜態(tài)常量 static int id; //在類中定義靜態(tài)變量 public static void method1() { //在類中定義靜態(tài)方法 } public void method2() { //在類中定義一個非靜態(tài)方法 System.out.PRintln(StaticTest.PI); //調(diào)用靜態(tài)常量 System.out.println(StaticTest.id); //調(diào)用靜態(tài)方法 StaticTest.method1(); //調(diào)用靜態(tài)方法 }}靜態(tài)方法同樣遵循權(quán)限修飾符的規(guī)則。在Java語言中規(guī)定不能將方法體內(nèi)的局部變量聲明為static。
而關(guān)于main的static,只能是先認定是main作為一個特殊的程序入口,在程序執(zhí)行時必須先來分配內(nèi)存,所以將其定義為static,但其可以調(diào)用非靜態(tài)的成員。
在main中訪問非靜態(tài)的成員需要先對成員進行實例化,然后通過 對象名 . 方法或成員名的形式來調(diào)用。
新聞熱點
疑難解答