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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

全局變量

全局變量又叫成員變量,它是聲明在類里,函數,靜態語句塊外的變量,全局變量又分為類變量(靜態變量)、實例變量兩種.
通過代碼來看一下:

private int i;//實例變量 private static int j;//類變量

實例變量總是通過對象來訪問,因為它們的值在對象和對象之間有所不同。而由static修飾的類變量(靜態變量)在類裝載的時候就會被初始化,也就是說一處修改多處改變.

局部變量

方法內定義的變量叫局部變量,因為只能在方法內部使用,固不可以用private,public,protect來修飾。

{int k;//局部變量 }

類變量

類變量:又叫靜態變量 用static修飾 它可以直接用類名調用 也可以用對象調用 而且所有對象的同一個類變量都是共享同一塊內存空間的.

實例變量

實例變量:不用static修飾 它只能通過對象調用 而且所有對象的同一個實例變量是共享不同的內存空間的.

下面是它們之間的思維導圖關系。

全局變量和局部變量的區別

  • 全局變量:
  • 1、成員變量定義在類中,在整個類中都可以被訪問。
  • 2、成員變量隨著對象的建立而建立,隨著對象的消失而消失,存在于對象所在的堆內存中。(實例變量)
  • 3、成員變量有默認初始化值。
  • 局部變量:
  • 1、局部變量只定義在局部范圍內,如:函數內,語句內等,只在所屬的區域有效。
  • 2、局部變量存在于棧內存中,作用的范圍結束,變量空間會自動釋放。如果局部變量類型為基本數據類型,那么存儲在棧內存,如果為引用數據類型,那么存放的是指向堆內存對象的引用或者是指向常量池中的地址
  • 3、局部變量沒有默認初始化值

實例變量和類變量的區別

  • 1、兩個變量的生命周期不同
    實例變量隨著對象的創建而存在,隨著對象的回收而釋放。
    靜態變量隨著類的加載而存在,隨著類的消失而消失。
  • 2、調用方式不同
    實例變量只能被對象調用。
    靜態變量可以被對象調用,還可以被類名調用。
  • 3、數據存儲位置不同
    實例變量存儲在堆內存的對象中,所以也叫對象的特有數據。
    靜態變量數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。

總結

以上是生活随笔為你收集整理的全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。