最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 中的變量類型

 更新時間:2021年11月08日 16:03:15   投稿:hqx  
這篇文章主要介紹了Java 中的變量類型,一般包括局部變量、成員變量、類變量,下面文章對這三種內(nèi)容的變量做了一個詳細(xì)介紹,需要的朋友可以參考一下

1、局部變量

在方法或語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結(jié)束后,變量就會自動銷毀。

  • 局部變量聲明在方法、構(gòu)造方法或者語句塊中;
  • 局部變量在方法、構(gòu)造方法、或者語句塊被執(zhí)行的時候創(chuàng)建,當(dāng)它們執(zhí)行完成后,變量將會被銷毀;
  • 訪問修飾符不能用于局部變量;
  • 局部變量只在聲明它的方法、構(gòu)造方法或者語句塊中可見;
  • 局部變量是在棧上分配的。
  • 局部變量沒有默認(rèn)值,所以局部變量被聲明后,必須經(jīng)過初始化,才可以使用。

2、成員變量(實(shí)例變量)

成員變量是定義在類中,方法體之外的變量。這種變量在創(chuàng)建對象的時候?qū)嵗3蓡T變量可以被類中方法、構(gòu)造方法和特定類的語句塊訪問。

  • 實(shí)例變量聲明在一個類中,但在方法、構(gòu)造方法和語句塊之外;
  • 當(dāng)一個對象被實(shí)例化之后,每個實(shí)例變量的值就跟著確定;
  • 實(shí)例變量在對象創(chuàng)建的時候創(chuàng)建,在對象被銷毀的時候銷毀;
  • 實(shí)例變量的值應(yīng)該至少被一個方法、構(gòu)造方法或者語句塊引用,使得外部能夠通過這些方式獲取實(shí)例變量信息;
  • 實(shí)例變量可以聲明在使用前或者使用后;
  • 訪問修飾符可以修飾實(shí)例變量;
  • 實(shí)例變量對于類中的方法、構(gòu)造方法或者語句塊是可見的。一般情況下應(yīng)該把實(shí)例變量設(shè)為私有。通過使用訪問修飾符可以使實(shí)例變量對子類可見;
  • 實(shí)例變量具有默認(rèn)值。數(shù)值型變量的默認(rèn)值是0,布爾型變量的默認(rèn)值是false,引用類型變量的默認(rèn)值是null。變量的值可以在聲明時指定,也可以在構(gòu)造方法中指定;
  • 實(shí)例變量可以直接通過變量名訪問。但在靜態(tài)方法以及其他類中,就應(yīng)該使用完全限定名:ObejectReference.VariableName。

3、類變量

類變量也聲明在類中,方法體之外,但必須聲明為 static 類型。

  • 類變量也稱為靜態(tài)變量,在類中以 static 關(guān)鍵字聲明,但必須在方法之外。
  • 無論一個類創(chuàng)建了多少個對象,類只擁有類變量的一份拷貝。
  • 靜態(tài)變量除了被聲明為常量外很少使用。常量是指聲明為 public / private, final static 類型的變量。常量初始化后不可改變。
  • 靜態(tài)變量儲存在靜態(tài)存儲區(qū)。經(jīng)常被聲明為常量,很少單獨(dú)使用 static 聲明變量。
  • 靜態(tài)變量在第一次被訪問時創(chuàng)建,在程序結(jié)束時銷毀。
  • 與實(shí)例變量具有相似的可見性。但為了對類的使用者可見,大多數(shù)靜態(tài)變量聲明為 public 類型。
  • 默認(rèn)值和實(shí)例變量相似。數(shù)值型變量默認(rèn)值是 0,布爾型默認(rèn)值是 false,引用類型默認(rèn)值是 null。變量的值可以在聲明的時候指定,也可以在構(gòu)造方法中指定。此外,靜態(tài)變量還可以在靜態(tài)語句塊中初始化。
  • 靜態(tài)變量可以通過:ClassName.VariableName 的方式訪問。
  • 類變量被聲明為 public static final 類型時,類變量名稱一般建議使用大寫字母。如果靜態(tài)變量不是 public final 類型,其命名方式與實(shí)例變量以及局部變量的命名方式一致。

關(guān)于 類變量 的說明:

The static keyword in Java is used for memory management mainly. We can apply java static keyword with variables, methods, blocks and nested class. The static keyword belongs to the class than an instance of the class. The static can be: Variable (also known as a class variable) Method (also known as a class method) Block.

(翻譯)

Java 中的 static 關(guān)鍵字主要用于 內(nèi)存管理(就是用了這個會安排出內(nèi)存空間來,供類的實(shí)例之間共享某個量)。我們可以將 java 的 static 關(guān)鍵字施用于變量、方法、語句塊和嵌套類。static 定義的對象是屬于整個類的, 而不是某個類的實(shí)例。

普通的變量屬于類的某一個特定的實(shí)例,但用 static 關(guān)鍵字修飾的變量將屬于一個類。也就是說,我們通過類的某一個實(shí)例去修改一個一般的變量值,將只有這個實(shí)例中的值被修改,其他實(shí)例不受影響;而若是修改一個 static 關(guān)鍵字修飾的類變量,這個類的所有實(shí)例的這個值都會被修改。

說起來比較麻煩,可以看一段示例代碼:

public class Static {
 public static void main(String[] args) {
  Example foo = new Example();
  Example bar = new Example();

  foo.staticVar = foo.normalVar = "foobar";

  System.out.println(foo.staticVar + "\t" + foo.normalVar);
  System.out.println(bar.staticVar + "\t" + bar.normalVar);
 }
}

class Example {
 static String staticVar = "Example";
 String normalVar = "Example";
}

輸出:

foobar foobar
foobar Example

可以看到,我們只改變了 foo 實(shí)例的值,但由 static 修飾的類變量 staticVar 的改變在 bar 中也出現(xiàn)了,而普通的成員變量則不然。

利用這種特性,我們可以實(shí)現(xiàn)一種可以統(tǒng)計自己的實(shí)例個數(shù)的類,

例如:

public class CountingClass {
 public static void main(String[] args) {
  Counter a = new Counter();
  Counter b = new Counter();
  Counter c = new Counter();

  System.out.println("Total Counters: " + a.total + " == " + b.total + " == " + c.total);
 }
}

class Counter { // 自計數(shù)類
 static int total = 0;

 public Counter() {
  total++;
  System.out.println("第 " + total + " 個 Counter 被構(gòu)造。");
 }
}

到此這篇關(guān)于Java 中的變量類型的文章就介紹到這了,更多相關(guān)Java 變量類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring整合JPA與Hibernate流程詳解

    Spring整合JPA與Hibernate流程詳解

    這篇文章主要介紹了Spring整合Hibernate與JPA,在正式進(jìn)入Hibernate的高級應(yīng)用之前,需要了解聲明是數(shù)據(jù)模型與領(lǐng)域模型,這兩個概念將會幫助我們更好的理解實(shí)體對象的關(guān)聯(lián)關(guān)系映射
    2023-01-01
  • 創(chuàng)建Java線程安全類的七種方法

    創(chuàng)建Java線程安全類的七種方法

    線程安全是指某個方法或某段代碼,在多線程中能夠正確的執(zhí)行,不會出現(xiàn)數(shù)據(jù)不一致或數(shù)據(jù)污染的情況,我們把這樣的程序稱之為線程安全的,反之則為非線程安全的,下面這篇文章主要給大家介紹了關(guān)于創(chuàng)建Java線程安全類的七種方法,需要的朋友可以參考下
    2022-06-06
  • java生成指定范圍的隨機(jī)日期

    java生成指定范圍的隨機(jī)日期

    這篇文章主要為大家詳細(xì)介紹了java生成指定范圍的隨機(jī)日期,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 啟動Tomcat時出現(xiàn)大量亂碼的解決方法

    啟動Tomcat時出現(xiàn)大量亂碼的解決方法

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著啟動Tomcat時出現(xiàn)大量亂碼的解決方法展開,文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • Java中常見死鎖與活鎖的實(shí)例詳解

    Java中常見死鎖與活鎖的實(shí)例詳解

    這篇文章主要介紹了Java中常見死鎖與活鎖的實(shí)例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Mybatis #foreach中相同的變量名導(dǎo)致值覆蓋的問題解決

    Mybatis #foreach中相同的變量名導(dǎo)致值覆蓋的問題解決

    本文主要介紹了Mybatis #foreach中相同的變量名導(dǎo)致值覆蓋的問題解決,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java中的排序Comparator類用法詳解

    Java中的排序Comparator類用法詳解

    這篇文章主要介紹了Java中的排序Comparator類用法詳解,Comparator?類常作為?sorted()?方法的參數(shù)傳遞給?sorted?方法,用來解決給集合排序,自定義排序規(guī)則的問題,需要的朋友可以參考下
    2023-08-08
  • 初步了解javafx

    初步了解javafx

    這篇文章主要介紹了初步了解javafx,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • 簡單了解JAVA構(gòu)造方法

    簡單了解JAVA構(gòu)造方法

    構(gòu)造方法作用就是對類進(jìn)行初始化。 如果你沒有定議任何構(gòu)造方法的形式,程式會為你取一個不帶任何參數(shù)的構(gòu)造函數(shù),那么你產(chǎn)生類的對像時只能用不帶參數(shù)的方法.下面小編和大家來一起學(xué)習(xí)一下吧
    2019-06-06
  • Mybatis的parameterType造成線程阻塞問題分析

    Mybatis的parameterType造成線程阻塞問題分析

    這篇文章主要詳細(xì)分析了Mybatis的parameterType造成線程阻塞問題,文中有詳細(xì)的解決方法,及相關(guān)的代碼示例,具有一定的參考價值,感興趣的朋友可以借鑒閱讀
    2023-06-06

最新評論

寻乌县| 沾化县| 遵义市| 育儿| 邵阳市| 瓮安县| 申扎县| 陆河县| 湖北省| 垦利县| 商河县| 平阴县| 克拉玛依市| 民丰县| 子长县| 张北县| 东兰县| 通化县| 壶关县| 谢通门县| 嘉义县| 子长县| 泗洪县| 南宫市| 三门峡市| 五寨县| 潢川县| 蓝田县| 固镇县| 昌平区| 青神县| 阿拉尔市| 犍为县| 藁城市| 佳木斯市| 西贡区| 南和县| 同江市| 桐柏县| 大足县| 拉萨市|