導航:首頁 > 編程語言 > java類的靜態成員

java類的靜態成員

發布時間:2022-12-11 12:38:20

java中靜態變數成員有什麼特點簡單點說 初學者

1.特點一:靜態變數的值是共享。比如說A類中有個靜態變數V_A,A類創建了兩個實例a,b。如果給實例a的變數V_A賦值,如a.V_A=1。那麼這時候查看實例b的V_A變數的值也為1,也就是說A對象實例化的兩個類共享同一個變數值,而且靜態變數
2.特點二:不需要對象實例化就可以使用。比如A類中的靜態變數V_A可以用A.V_A的形式使用

Ⅱ java中的靜態成員是否是在類載入的時候就被載入到內存中了

對,首先可以肯定的是你的說法是正確的。

類載入的過程有以下幾個過程:載入、驗證、准備、解析

在准備的過程中,靜態成員變數就會進行內存分配,而不包括實例變數,實例變數是在對象實例化隨著對象一起分配在java堆中的。但是要注意一點,比如:public static int a=1;那變數在准備階段過後的初始值是0而不是1.因為這個時候尚未執行任何的Java方法。而是賦值了一個初始值,如果是引用成員變數就會為null,其他基本類型對應的是其基本默認值。

ps:以上資料來自《深入Jvm虛擬機》

Ⅲ 靜態數據成員在Java當中稱作什麼

類成員。變數稱為類變數、靜態變數。方法稱為類方法、靜態方法。塊被成為類塊、靜態塊。
特點是類無需實例化,就可使用。初始化過程中,處於實例成員之前。並且在繼承後,並使用多態的情況下,不會被覆蓋,只能被遮蔽。

Ⅳ Java中靜態成員和實例成員的區別,及main函數

在外部調用靜態方法時,可以使用"類名.方法名"的方式,也可以使用"對象名.方法名"的方式。而實例方法只有後面這種方式。也就是說,調用靜態方法可以無需創建對象。特殊的就是一個類的main方法,都是以public static void限制的,所以這個方法可以在其他類中直接以類名進行調用,如可以在類B中不創建A的對象而直接調用A的main方法:A.main(param)
靜態方法在訪問本類的成員(一定要注意,是本類的成員,當訪問外類的成員的時候就完全沒有這個限制了!!!其實想想也對,如果訪問外類成員的時候也要有限制,那麼main函數就無法執行外類的一些非靜態方法了,那麼當繼承過來的時候就完全沒有了用處了。)時,只允許訪問靜態成員(即靜態成員變數和靜態方法),而不允許訪問實例成員變數和實例方法;實例方法則無此限制。main()方法是一個典型的靜態方法,它同樣遵循一般靜態方法的規則,所以它可以由系統在創建對象之前就調用。
Main函數:每個書寫class的java文件中至多能有一個用來運行的main方法(如果需要運行的話就要有main方法),以上所述,所有的類必須存在於一個包中,方法必須存在於一個類中(main方法也是一種特殊的方法)。每個包裡面可以有n個Java文件,所以,每個包中可以有數個main方法(函數)。

Ⅳ java中靜態內部類是怎麼定義的

需要了解2個概念:內部類和靜態修飾符static
1)首先,用內部類是因為內部類與所在外部類有一定的關系,往往只有該外部類調用此內部類。所以沒有必要專門用一個Java文件存放這個類。
2)靜態都是用來修飾類的內部成員的。比如靜態方法,靜態成員變數,靜態常量。它唯一的作用就是隨著類的載入(而不是隨著對象的產生)而產生,以致可以用類名+靜態成員名直接獲得。
這樣靜態內部類就可以理解了,因為這個類沒有必要單獨存放一個文件,它一般來說只被所在外部類使用。並且它可以直接被用
外部類名+內部類名
獲得。
以下舉例說明怎麼使用:
Student類有個叫School的內部類(非靜態)
Student
stu
=
new
Student();
stu.School
sch
=
new
stu.School();
sch就是School的一個對象。
假如School是內部靜態類:
Student.School
sch
=
new
Student.School();

Ⅵ java 為什麼實例對象可以訪問類的靜態成員。

按初始化的先後順序來考慮即可明白。
類的靜態成員不需要有實例對象,在類載入的時候,就可被初始化了。
類的靜態成員的初始化,是比類的實例對象要提前完成的,所以實例對象可以訪問類的靜態成員。

Ⅶ 請教一個java問題,同一個類被實例化成若干個線程,它們的靜態成員變數和非靜態的內存地址是一樣的嗎

靜態成員變數地址:一樣。因為靜態成員變數在類裝載入內存時,進行初始化+賦值。所以有且只有一份,所以地址是一樣的。
非靜態成員變數地址:不一樣。new一次,分配一次內存,所以不一樣

Ⅷ JAVA里的靜態成員是什麼

是類和類的多個對象共同擁有的一個屬性或者是方法,靜態成員可以通過類名.靜態成員名或者是對象名.靜態成員名調用,需要注意的是,如果你定義了一個靜態成員public static int A = 10,類調用了這個靜態成員並且將10改成了20,那麼其它的對象再調用這個A此時他們得到的值就是20,因為他們和類共同擁有一個靜態成員。

Ⅸ java中私有的屬性、靜態成員可以被子類繼承嗎

靜態成員分為靜態屬性和靜態方法,而靜態成員是不可以被繼承的,因為靜態成員是依附於類存在的,它屬於類;靜態方法在被子類「繼承」(實際可以理解為聲明了一個跟父類同名的靜態方法)後,如果子類將該方法進行了重寫,在實例化對象時,如果是子類對象則調用的是子類中該方法的實現方式,如果是父類對象則調用父類中該方法的實現方式。是一種對父類中靜態方法的隱藏,但是父類的靜態方法一直存在,不會像非靜態方法那樣,一但發生子類將父類方法重寫,不管是子類對象還是父類對象調用該方法都是子類的實現方式;
另一方面,如果子類中靜態方法是繼承自父類的話,應該是可以用重寫@Override進行標記重寫的,但在java中不允許在子類中與父類同名同參的靜態成員前使用該註解,這也說明了子類中的靜態方法不是繼承自父類,而是一種聲明;
另外所有父類中的非靜態成員都可以被子類繼承,private等成員訪問控制符,只限定子類是否可以調用該成員,不限定是否可以被繼承

閱讀全文

與java類的靜態成員相關的資料

熱點內容
匯編程序員待遇 瀏覽:357
怎麼批量有順序的命名文件夾 瀏覽:209
杭州程序員健身 瀏覽:17
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362