當前位置:首頁 » 編程語言 » java靜態成員變數

java靜態成員變數

發布時間: 2024-04-29 20:04:52

A. java 類變數和成員變數怎麼理解

成員變數就是類中的屬性。當new對象的時候,每個對象都有一份屬性。一個對象中的屬性就是成員變數。在類內部,任何地方都可以訪問成員變數。類變數是被static修飾的屬性。作用范圍在類變數定義之後。

class Person{

//成員變數,實例變數

String name;

//靜態變數,類變數,所有對象共享的屬性用static修飾

static String country = "CN";

public void show(){

System. out.println(country + ":" + name); }}

class StaticDemo{

public static void main(String[]args){

Personp = new Person();

System. out.println(p.country); //可以用類名直接調用

System. out.println(Person.country); }}

(1)java靜態成員變數擴展閱讀:

成員變數和類變數的區別:

1、兩個變數的生命周期不同

成員變數隨著對象的創建而存在,隨著對象的回收而釋放。

靜態變數隨著類的載入而存在,隨著類的消失而消失。

2、調用方式不同

成員變數只能被對象調用。

靜態變數可以被對象調用,還可以被類名調用。

3、數據存儲位置不同

成員變數存儲在堆內存的對象中,所以也叫對象的特有數據。

靜態變數數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。



B. JAVA中靜態變數和實例變數的區別

Java類的成員變數有2種:一種是被static關鍵字修飾的變數,叫類變數或者靜態變數;另一種沒有static修飾,為實例變數。

在語法定義上的區別:靜態變數前要加static關鍵字,而實例變數前則不加。

在程序運行時的區別:實例變數屬於某個對象的屬性,必須創建了實例對象,其中的實例變數才會被分配空間,才能使用這個實例變數。靜態變數不屬於某個實例對象,而是屬於類,所以也稱為類變數,只要程序載入了類的位元組碼,不用創建任何實例對象,靜態變數就會被分配空間,靜態變數就可以被使用了。總之,實例變數必須創建對象後才可以通過這個對象來使用,靜態變數則可以直接使用類名來引用。

類的靜態變數在內存中只有一個,java虛擬機在載入類的過程中為靜態變數分配內存,靜態變數位於方法區,被類的所有實例共享。靜態變數可以直接通過類名進行訪問,其生命周期取決於類的生命周期。

而實例變數取決於類的實例。每創建一個實例,java虛擬機就會為實例變數分配一次內存,實例變數位於堆區中,其生命周期取決於實例的生命周期。

熱點內容
狂牛加密視頻破解 發布:2024-11-28 02:32:54 瀏覽:867
騰訊視頻上傳技巧 發布:2024-11-28 02:28:05 瀏覽:238
2016資料庫系統工程師 發布:2024-11-28 02:22:16 瀏覽:891
壓縮機飛動 發布:2024-11-28 02:00:04 瀏覽:273
50年腳本 發布:2024-11-28 01:58:38 瀏覽:220
光遇渠道服初音腳本怎麼換號 發布:2024-11-28 01:57:44 瀏覽:416
平板電腦配置怎麼看配置高不高 發布:2024-11-28 01:57:43 瀏覽:613
大逃殺掛機腳本 發布:2024-11-28 01:45:45 瀏覽:567
pythontimesleep 發布:2024-11-28 01:43:38 瀏覽:280
php圖片編輯 發布:2024-11-28 01:33:15 瀏覽:245