當前位置:首頁 » 編程語言 » 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-05-17 05:29:51 瀏覽:565
linux指定組 發布:2024-05-17 05:04:39 瀏覽:86
魯班演算法 發布:2024-05-17 04:59:46 瀏覽:489
分布鋼筋配置有哪些 發布:2024-05-17 04:51:57 瀏覽:148
軒逸寶來朗逸配置一樣哪個平易 發布:2024-05-17 04:48:59 瀏覽:433
c盤刪除緩存文件對系統有影響嗎 發布:2024-05-17 04:27:47 瀏覽:340
python不能輸入中文 發布:2024-05-17 04:27:34 瀏覽:111
小米電視密碼設置在哪裡 發布:2024-05-17 04:06:12 瀏覽:426
java正則sql 發布:2024-05-17 04:05:52 瀏覽:620
51單片機c語言教程郭天祥 發布:2024-05-17 03:46:13 瀏覽:890