久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > java全局變量

java全局變量

來源:千鋒教育
發(fā)布人:yyy
時間: 2023-06-29 14:27:00 1688020020

  1.java全局變量

  1.1 概述

  Java中的全局變量通常是指定義在類級別上的變量,也稱為類變量或靜態(tài)變量。它們與對象實例無關(guān),而是與類相關(guān)聯(lián)的變量。這意味著無論創(chuàng)建多少個對象,類變量的值都是相同的。類變量可以在整個類中使用,并且可以通過類名直接訪問。

  要定義一個類變量,需要在變量聲明之前添加關(guān)鍵字“static”。例如:

 public class MyClass {

  static int globalVariable = 10;

  }

   在上面的示例中,globalVariable是一個類變量,它被定義為一個整數(shù),并初始化為10。該變量可以通過類名訪問,如下所示:

 MyClass.globalVariable = 20;

   類變量可以在類中的任何地方使用,并且對于所有對象都是相同的。這使得它們成為在整個類中共享數(shù)據(jù)的有用工具。

  1.2 特點

  Java的全局變量,也稱為成員變量或類變量,是在類中定義的變量,可以被類的所有方法和對象訪問。以下是Java全局變量的特點:

  1.生命周期:全局變量在類定義的生命周期內(nèi)存在,即在對象創(chuàng)建前就已經(jīng)存在,直到程序結(jié)束或類被卸載時才被銷毀。

  2.默認(rèn)值:如果沒有給全局變量賦初值,則它們將默認(rèn)初始化為0或null,具體取決于變量的類型。

  3.可見性:全局變量可以在類的所有方法中訪問,包括靜態(tài)和非靜態(tài)方法。

  4.作用域:全局變量的作用域是整個類,可以在類的任何方法中使用。

  5.靜態(tài)性:可以使用static關(guān)鍵字將全局變量聲明為靜態(tài)變量,這樣它們將成為類變量,而不是對象變量。靜態(tài)變量只有一個副本,被類的所有對象所共享,因此它們可以在不創(chuàng)建對象的情況下訪問。

  6.可變性:全局變量可以是可變的或不可變的,這取決于它們的數(shù)據(jù)類型。如果全局變量是一個對象,則可以更改該對象的狀態(tài),即使變量本身是final類型。

  總之,全局變量是Java中非常重要的一種數(shù)據(jù)類型,它們可以讓變量在類的范圍內(nèi)存在,并且可以在整個類中使用。因此,它們可以被用來存儲對整個類有意義的數(shù)據(jù),或者作為類的狀態(tài)的標(biāo)志。

  1.3 案例

  以下是一個使用全局變量的Java示例:

public static void main(String[] args) {
// 在 main 方法中訪問全局變量
System.out.println("全局變量的值為: " + globalVariable);

// 調(diào)用方法來修改全局變量的值
modifyGlobalVariable();

// 再次訪問全局變量來查看其值是否被修改
System.out.println("修改后的全局變量的值為: " + globalVariable);
}

public static void modifyGlobalVariable() {
// 在方法中修改全局變量的值
globalVariable = 20;
}

   在這個例子中,我們聲明了一個名為 globalVariable 的靜態(tài)全局變量,它的值為 10。我們?nèi)缓笤?main 方法中訪問這個全局變量,并將其值打印出來。

  接下來,我們調(diào)用 modifyGlobalVariable 方法來修改全局變量的值。在這個方法中,我們將 globalVariable 的值改為 20。

  最后,我們再次訪問 globalVariable 來檢查它的值是否已被修改,并將其值打印出來。

  注意,在 Java 中,靜態(tài)全局變量必須使用 static 關(guān)鍵字進行聲明,以便在其他靜態(tài)方法中訪問它。

  1.4 java全局變量的存儲區(qū)域

  ●Java中的全局變量(即靜態(tài)變量)存儲在Java虛擬機(JVM)的方法區(qū)中。方法區(qū)是一種在JVM中用于存儲類信息、常量、靜態(tài)變量等數(shù)據(jù)的內(nèi)存區(qū)域。在JVM啟動時,方法區(qū)被分配,其大小可以根據(jù)需要進行調(diào)整。

  ●由于方法區(qū)是在JVM中共享的,因此所有實例都可以訪問相同的全局變量。因此,全局變量也稱為類變量,因為它們與整個類相關(guān)聯(lián),而不是與任何特定實例相關(guān)聯(lián)。全局變量在類被加載時初始化,并且可以通過類名來訪問,而不需要創(chuàng)建類的實例。

  2.局部變量

  2.1 概述

  局部變量是在定義形參、方法或代碼塊內(nèi)部的變量,該變量只在當(dāng)前方法、代碼塊中有效。

  2.2特點

  局部變量具有如下特點:

  ●局部變量聲明在方法、構(gòu)造方法或者代碼塊、形參中;

  ●局部變量在方法、構(gòu)造方法、或者語句塊被執(zhí)行時創(chuàng)建,當(dāng)它們執(zhí)行完成后,局部變量就會被銷毀;

  ●訪問修飾符不能添加在局部變量上;

  ●局部變量只在聲明它的方法、構(gòu)造方法或者代碼塊、形參中可見;

  ●局部變量是在棧上分配的;

  ●局部變量沒有默認(rèn)值,所以局部變量被聲明后,必須經(jīng)過初始化,才可以使用。

  2.3 案例

  在下面的案例中,給大家定義了幾個局部變量供大家參考。

//args也是一種局部變量,在main(){}方法的{}范圍內(nèi)有效
public static void main(String[] args) {
int a = 10;//局部變量,在main(){}方法的{}范圍內(nèi)有效

System.out.println("a=" + a);
}

public void showAge() {
//i也是一種局部變量,只在for(){}這對{}范圍內(nèi)
for(int i=0;i<100;i++) {
System.out.println("age=" + age);
}
}

   2.4 java局部變量的存儲區(qū)域

  ●Java 中的局部變量存儲在棧(stack)內(nèi)存中。棧是一種后進先出的數(shù)據(jù)結(jié)構(gòu),用于存儲方法調(diào)用時的局部變量、方法參數(shù)和返回值等數(shù)據(jù)。當(dāng)一個方法被調(diào)用時,會為該方法在棧上分配一塊內(nèi)存空間,用于存儲該方法的局部變量和方法參數(shù)。當(dāng)方法執(zhí)行完畢后,該方法的棧幀就會被銷毀,該方法的局部變量和方法參數(shù)也就隨之被釋放。因此,局部變量的生命周期與方法的生命周期相同,只在方法內(nèi)部有效。

  3.總結(jié)

  至此,最后給大家總結(jié)下局部變量和成員變量的區(qū)別,大家一定多上手練一練哈,這樣才能加深印象:

  相同點:

  1.定義變量的格式相同;

  2.先聲明后使用;

  3.變量都有對應(yīng)的作用域。

  不同點:

  兩者聲明的位置及作用范圍不同,如下表所示:

  成員變量 直接定義在類中,根據(jù)修飾符的不同,可以在當(dāng)前類或其他類中有效。

  局部變量 定義在方法的形參、方法內(nèi)部、代碼塊內(nèi)部的變量。只在當(dāng)前方法及代碼塊內(nèi)部有效。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是雙機熱備?

一、雙機熱備的原理雙機熱備是指在系統(tǒng)中配置兩臺服務(wù)器(主服務(wù)器和備份服務(wù)器),兩者通過高速網(wǎng)絡(luò)連接進行實時數(shù)據(jù)同步和狀態(tài)同步。主服務(wù)器...詳情>>

2023-10-15 06:37:02
偏最小二乘支持向量機和支持向量機回歸的區(qū)別是什么?

1.模型構(gòu)建的理論基礎(chǔ)不同支持向量機回歸(SVR)基于統(tǒng)計學(xué)習(xí)理論,其主要思想是找到一個超平面,使得大部分?jǐn)?shù)據(jù)點都在這個超平面的一定范圍內(nèi),...詳情>>

2023-10-15 06:30:45
VAE、GAN和transformer有什么區(qū)別?

1.模型結(jié)構(gòu)不同VAE(變分自編碼器)是一種生成模型,其基于概率圖模型和自編碼器,能夠?qū)W習(xí)數(shù)據(jù)的潛在分布。GAN(生成對抗網(wǎng)絡(luò))同樣是一種生成...詳情>>

2023-10-15 06:10:12
什么是PLC?

一、什么是PLCPLC,全稱為 Programmable Logic Controller,中文名為可編程邏輯控制器。它是一種專為實現(xiàn)工業(yè)過程、生產(chǎn)線、機械裝置或某些其他...詳情>>

2023-10-15 05:26:08
為什么LTD獨立站就是Web3.0網(wǎng)站?

一、LTD獨立站的概念 LTD獨立站是指使用特定拔尖域名(如.com、.net、.org等)建立的獨立網(wǎng)站。LTD獨立站通常會有自己的服務(wù)器資源,可以自由地...詳情>>

2023-10-15 05:21:46