靜態變數,成員變數,區域性變數的區別
靜態變數,成員變數,區域性變數
區域性變數
1.區域性變數在方法定義中或方法宣告上
2.區域性變數存在於棧記憶體
3.區域性變數隨著方法的呼叫而存在,隨著方法呼叫完畢消失
4.區域性變數有預設初始值
成員變數
1.成員變數在類中方法外,隨著物件的建立而產生
2.成員變數存在於堆記憶體中
3.成員變數屬於物件,隨著物件建立而存在,隨著物件消失而消失
4.成員變數沒有預設初始值
靜態變數
1.靜態變數隨著類的載入而載入
2.靜態變數存在方法區的共享區
3.靜態變數屬於類,隨著類的消失而消失
4.呼叫靜態變數推薦使用類名物件,也可以用物件名呼叫但不推薦
相關推薦
java 基礎之成員變數,成員方法和區域性變數,例項方法
以下都是總結的簡單說法,定義上可能沒那麼嚴謹。 成員變數:類裡定義的變數。 區域性變數:方法裡定義的變數。 其中成員變數又分為:例項變數和類變數(靜態變數) 類變數:static修飾的變數 注:如果區域性變數和成員變數的名稱相同,那麼成員變數被隱藏,即方法內失效,方法中如需
Python 閉包,函式分隔作用域,nonlocal宣告非區域性變數
例項物件也可以實現閉包的功能,不過例項物件消耗的資源(記憶體)比閉包多。 demo.py(閉包): # 閉包,分割作用域。 外層函式內部巢狀內部函式,外層函式分割變數作用域,並返回內部函式的引用。 # 外層函式負責分割作用域,內層函式才是閉包提供的功能。 外層函式返回內層
匿名內部類可以訪問的變數---靜態成員變數和final修飾的區域性變數
在學習多執行緒的時候用到了匿名內部類,匿名內部類可以訪問static靜態成員變數或者final修飾的區域性變數。 匿名內部類在編譯之後會生成class檔案,比如Test內的第一個匿名內部類編譯之後就是Test$1.class; 匿名內部類中訪問的final修飾的區域性變數在生成Test$1.c
C指標以及為什麼不能返回區域性指標變數,卻可以返回區域性變數
指標,是一個無符號整數(unsigned int),它是一個以當前系統定址範圍為取值範圍的整數。 如:int* 是一個指標變數型別 指標變數和普通變數沒有什麼區別,指標32位四位元組,裡面儲存的是一個記憶體空間的地址, 就像一個整形變數int a, a就可以代表一個整數,一
JS全域性變數VAR和THIS--在函式內部,加var是區域性變數,不加是全域性變數
JS全域性變數VAR和THIS 2011-05-23 21:43 很多人都覺得在javascript宣告一個變數,加var和不加var沒有什麼區別,實際上是一個錯誤的觀點,如果在函式外面,也就是說在window區域加不加var確實是一樣,因為都會是全域性變數的效果,
學習Javascript閉包(Closure),從外部讀取區域性變數
閉包(closure)是Javascript語言的一個難點,也是它的特色,很多高階應用都要依靠閉包實現。 下面就是我的學習筆記,對於Javascript初學者應該是很有用的。 一、變數的作用域 要理解閉包,首先必須理解Javascript特殊的變數作用域。 變數的作
執行緒池踩坑 - 作為例項成員或方法區域性變數的誤區
轉自 https://blog.csdn.net/firefile/article/details/80747569 本文目錄: 概述 驗證 剖析 小結 概述 執行緒池可以把執行緒複用起來,減少執行緒建立銷燬的時間和資源消耗,提高了程式任務執
作為例項成員或方法區域性變數的誤區
本文目錄: 概述 驗證 剖析 小結 概述 執行緒池可以把執行緒複用起來,減少執行緒建立銷燬的時間和資源消耗,提高了程式任務執行的吞吐率。 就像執行緒屬於全域性使用的資源一樣,執行緒池一般也是全域性性,對整個應用程序的執行緒複用做有效的管理。設計者一般都會把
C/C++ 變數的作用域 與區域性變數
區域性變數例1#include <stdio.h>#include <stdlib.h>//區域性變數例題1void changeNum1()//定義函式{ //區域性變數 //定義變數 並賦初值 int num1 = 5,num2
指定類型的成員XX”不支持實體LINQ。只有初始化,成員單位,和實體導航性能的支持。
where 創建 pos var != sql 支持 bre spec The specified type member ‘DeleteFlag‘ is not supported in LINQ to Entities. Only initializers, entit
靜態變數,成員變數,區域性變數的區別
靜態變數,成員變數,區域性變數 區域性變數 成員變數 靜態變數 區域性變數 1.區域性變數在方法定義中或方法宣告上 2.區域性變數存在於棧記憶體 3.區域性變數隨著方法的呼叫而存在,隨著方法呼叫完畢消失 4.區域性變數有預設初始值
java中的遞迴——成員變數,區域性變數,靜態變數
在java的遞迴過程中,涉及到三種變數,例項成員變數,區域性變數,靜態變數。成員變數和區域性變數一樣,都會隨著函式遞迴呼叫而進棧,而靜態變數就相當於c語言中的全域性變數,函式在遞迴過程中呼叫的全域性變數始終是同一個。 package com.algorithm.tree;
C語言那年踩過的坑--區域性變數,靜態變數,全域性變數在記憶體中存放的位置
先看幾個概念: 1、bss是英文block started by symbol的簡稱,通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域,在程式載入時由核心清0。bss段屬於靜態記憶體分配。它的初始值也是由使用者自己定義的連線定位檔案所確定,使用者應該將它定義在可讀寫的ram區內,源程式中使用m
Java中ThreadLocal,成員變數和區域性變數。
一.成員變數和區域性變數 1.程式例子: public class HelloThreadTest { public static void main(String[] args) { HelloThread r = new HelloThread();
區域性內部類為什麼只能訪問final區域性變數,對於成員變數卻可以隨便訪問?
區域性內部類為什麼只能訪問final區域性變數,對於成員變數卻可以隨便訪問? http://kingquake21.iteye.com/blog/1033436 部落格分類: Java innerclas
【python】區域性變數,全部變數,類變數,例項變數,類方法,例項方法,靜態方法的使用
一:區域性變數 函式內部的變數名如果第一次出現,即被視為定義一個區域性變數,不管全域性域中有沒有用到該變數名,函式中使用的將是區域性變數,區域性變數只能在作用域內使用,也就是函式內部使用 二:全域性變數 在模組中使用,其在函式和類的外面定義的定義的變數。如果函式中沒有定於相同變數名的區域
舉例詳解java例項變數,靜態變數,區域性變數
public class Variable { public int m,n;//對子類可見的例項變數 private double k;//只對本類可見的例項變數,一般情況下,設為私有,通過使用訪問修飾符來被子類使用。 public static String P;//靜態變數(
全域性初始化變數/全域性未初始化變數/全域性靜態變數/區域性變數的儲存位置,作用域,與生命週期
比如如下程式程式碼片段 int a = 0; char *p1; static int x = 10; int main(void) { int b = 0; char
成員變數,區域性變數,例項變數,類變數
對於所有變數: 根據定義的位置不同,把類分為成員變數(在類裡定義的變數)和區域性變數(在方法裡定義的)。 成員變數: 被分為 類變數(static)和例項變數(木有static)。 有static則為類變數,沒有就是例項變數。 區域性變數: 被分為形參(在方法簽名
java基礎———類與物件,成員變數和區域性變數,封裝及關鍵字static和this
類與物件,成員變數和區域性變數,封裝及關鍵字static和this 面向物件的思想 類與物件及其應用 物件的記憶體圖 成員變數和區域性變數的區別 匿名物件 封裝(private) this關鍵字 構造方法 物件的建立步驟