日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

java 变量分类

發(fā)布時(shí)間:2024/4/15 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 变量分类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn):https://blog.csdn.net/suneqing/article/details/37909811?

1、按被聲明的位置劃分

局部變量:方法和語句塊內(nèi)定義的的變量。(在定義局部變量時(shí),必須對其進(jìn)行初始化。)

成員變量:方法外部,類的內(nèi)部定義的變量。(成員變量可以是java語言中任何一種數(shù)據(jù)類型(包括基本類型和引用類型))

類由成員變量和成員方法構(gòu)成。而成員變量又分為實(shí)例變量和類變量(被static修飾的變量)。

  使用static修飾的成員變量是類變量,屬于該類本身;沒有使用static修飾的成員變量是實(shí)例變量,屬于該類的實(shí)例。

  在同一個(gè)JVM內(nèi),每個(gè)類只對應(yīng)一個(gè)Class對象,但每個(gè)類可以創(chuàng)建多個(gè)Java對象。

  由于同一個(gè)JVM內(nèi)每個(gè)類只對應(yīng)一個(gè)Class對象,因此同一個(gè)JVM內(nèi)的一個(gè)類的類變量只需一塊內(nèi)存空間;但對于實(shí)例變量而言,該類每創(chuàng)建一次實(shí)例,就需要為實(shí)例變量分配一塊內(nèi)存空間。也就是說,程序中有幾個(gè)實(shí)例,實(shí)例變量就需要幾塊內(nèi)存空間。

2、按所屬的數(shù)據(jù)類型劃分

基本數(shù)據(jù)類型

  內(nèi)存分析。

  例如'int i=0;',在內(nèi)存中只分配一個(gè)空間,名字是i,里面的值是0。只要使用了i這個(gè)名字就能找到其中的值。

引用數(shù)據(jù)類型:java中的對象是通過對其引用進(jìn)行操作的。

  內(nèi)存分析:引用類型占兩塊內(nèi)存,引用變量占一塊,new出來的對象占一塊內(nèi)存。

  例如:

  聲明一個(gè)string類型的引用變量,但并沒有指向一個(gè)對象。這時(shí)候它在內(nèi)存中占一塊內(nèi)存。

  String s;

  

  使用new創(chuàng)建一個(gè)string類型對象,并通過s指向它,通過s對其進(jìn)行操作。

  s=new String("hello world");

?

?

總之,如果按照聲明位置劃分的變量類型中,局部變量聲明后必須要賦值以后才能使用;而成員變量聲明后可以不賦值,系統(tǒng)有默認(rèn)值。

如果按所屬的數(shù)據(jù)類型劃分,基本類型數(shù)據(jù)只占用內(nèi)存中的一塊內(nèi)存;而引用類型占用的是兩塊內(nèi)存,根據(jù)引用變量就可以在堆內(nèi)存中找到它指向的對象。

3、例子

  • 1、對象主要存放在堆內(nèi)存中;方法和屬性主要存放在棧內(nèi)存中。?
  • 2、棧是運(yùn)行時(shí)單位,用來解決程序運(yùn)行時(shí)的問題,堆是存儲單位,解決數(shù)據(jù)存儲的問題。?
  • 3、堆伴隨著JVM的啟動(dòng)而創(chuàng)建。

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/amunamuna/p/10703371.html

總結(jié)

以上是生活随笔為你收集整理的java 变量分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。