成員變量
成員變量是指定維度的成員變量,用于標識某個維度成員。
簡介由 Analysis Services 內部使用的值,以標識某個維度成員。MemberKeyColumn 屬性指定維度的成員變量。例如,1 到 12 之間的某個數字可以是相應于年中的某個月的成員變量。
java成員變量和方法 成員變量:在類體的變量部分中定義的變量,也稱為字段。我們先來看一個Clothes類的成員變量:
package ch05.sample
;public class Clothes
{
String id; //實例變量
private String colorType; //實例變量private int size; //實例變量private static String depart; //類變量final String design=“yangzi”; //常量}
代碼中的實例變量、類變量、常量都屬于成員變量,那么其區分的依據是什么?這與變量的修飾符有關系,也就是上面代碼中的private、static、final等修飾符。
全局變量
全局變量是編程術語中的一種,源自于變量之分。
變量分為局部與全局,局部變量又可稱之為內部變量。由某對象或某個函數所創建的變量通常都是局部變量,只能被內部引用,而無法被其它對象或函數引用。
全局變量既可以是某對象函數創建,也可以是在本程序任何地方創建。全局變量是可以被本程序所有對象或函數引用。一個局部變量在被其它對象引用時,會是一個空值。但全局變量卻不會出現這種情況。
面向對象語言中的使用
在現代的面向對象語言如Java,C++,C#,Ruby中,由于變量都是封裝在類里面的,對別的類不可見,所以已經幾乎完全拋棄了全局變量的概念。然而,可以通過把一個類定義為public static,把類成員變量也定義為public static,使該變量在內存中占用固定、唯一的一塊空間,來實現全局變量的功能。
成員變量與全局變量的區別
全局變量:也叫成員變量,是指在類中定義的變量;它在整個類中都有效
全局變量又可分為:類變量和實例變量
1.類變量:又叫靜態變量 用static修飾 它可以直接用類名調用 也可以用對象調用 而且所有對象的同一個類變量都是共享同
一塊內存空間的
2.實例變量:不用static修飾 它只能通過對象調用 而且所有對象的同一個實例變量是共享不同的內存空間的
局部變量:是指那些在方法體中定義的變量以及方法的參數 它只在定義它的方法內有效
注意:如果某個方法中的局部變量的名字與全局變量的名字相同 則該全局變量在這個方法中暫時失效
public class Test{
int a=0; //全局變量
public static void main(String[] args){
int b =0;//局部變量
}
}
先看下面兩段程序:
程序一:
public class Variable
{
int i;
void test()
{
int j=8;
if(j==i)
System.out.println(“相等”);
else
System.out.println(“不相等”);
}
public static void main(String[] args)
{
Variable v=new Variable();
v.test();
}
}
程序二:
public class Variable
{
void test()
{
int i;
int j=8;
if(j==i)
System.out.println(“相等”);
else
System.out.println(“不相等”);
}
public static void main(String[] args)
{
Variable v=new Variable();
v.test();
}
}
----------------------------------------------------------------------------------------------------------
第一個程序很正常,編譯時不會出錯。第二個程序編譯時會提示如下錯誤:
D:\Program\java\test》javac Variable.java
Variable.java:9: 可能尚未初始化變量 i
if(j==i)
^
1 錯誤
之所以會出現這樣的錯誤是因為:成員變量有默認值,(被final修飾且沒有static的必須顯式賦值),局部變量不會自動賦值
===========================================================
類體分為兩部分。變量定義部分所定義的變量被稱為類的成員變量,在方法體中定義的變量和方法的參數都被稱為局部變量
java中成員變量和局部變量的區別
1.成員變量可以被public,protect,private,static等修飾符修飾,而局部變量不能被控制修飾符及static修飾;兩者都可以定義成final型
2.成員變量存儲在堆,局部變量存儲在棧
3.存在時間不同
4.成員變量有默認值,(被final修飾且沒有static的必須顯式賦值),局部變量不會自動賦值
-------------------------------------------------------------------------------------------------------------
顧名思意了
什么是局部,方法內部,塊內部都是局部,執行指令退出那個局部,局部變量自動清除
比如方法中,不用說
塊中
{
int i=0; //這是一個局部變量,它的作用范圍就在其中
}
成員變量就會涉及到誰的成員,類的成員?實例的成員?
class A{
int i=0; //實例的成員
static j=1;//類的成員
}
static 的差別,是否依賴于實例而存在
----------------------------------------------------------------------------------------------------------
成員變量:作為類的成員而存在,直接存在于類中。
局部變量:作為方法或語句塊的成員而存在,存在于方法的參數列表和方法定義中。
局部變量在使用前必須被程序員主動的初始化,和此形成對比,系統中的成員變量則會被系統提供一個默認的初始值。所以在語法上,類的成員變量能夠定義后直接使用,而局部變量在定義后先要賦初值,然后才能使用。
所有類的成員變量可以通過this來引用。成員變量又分成倆中類型:實例變量和靜態變量。靜態變量在定義時要使用static關鍵字
評論
查看更多