實例變量,局部變量,全局變量,靜態全局變量。


定義:

實例變量:定義在一個類的各個內部方法之外,是內部方法共享的變量

局部變量:定義在方法之中的變量,但是這個方法使用的變量,其他方法和類沒法使用。

全局變量:也稱為外部變量,它是在函數外部定義的變量,一個程序的所有的java源文件都可用。

靜態全局變量:一程序由多個java源文件組成時,可以用靜態全局變量指定某一個java源文件,僅這個java文件可用這變量。

 1 int a,b; //外部變量
 2 static int c;//靜態外部變量
 3 
 4 public class Sample
 5 {
 6 
 7 private int a=1; //實例變量
 8 
 9 public void b()
10 {
11 int a=2; //局部變量
12 System.out.println("局部變量:a="+a);
13 System.out.println("實例變量:a="+this.a);
14 }
15 
16 public void d()
17 {    
18 System.out.println("局部變量:a="+a);//實例變量的a=1能套用在這里,局部a=2不能
19 System.out.println("實例變量:a="+this.a);
20 }
21 
22 }
23 
24 public class Sample
25 {
26 
27 private int a=1; //實例變量
28 
29 public void b()
30 {
31 int a=2; //局部變量
32 System.out.println("局部變量:a="+a);
33 System.out.println("實例變量:a="+this.a);
34 }
35 
36 public void d()
37 {    
38 System.out.println("局部變量:a="+a);//實例變量的a=1能套用在這里,局部a=2不能
39 System.out.println("實例變量:a="+this.a);
40 }
41 }

 

 特點:

局部變量:

1. 局部變量要先賦值,再進行運算,而實例變量均已經賦初值。(這是局部變量和實例變量的一大區別)
2. 局部變量不允許范圍內定義兩個同名變量。實例變量的作用域在本類中完全有效,當被其他的類調用的時候也可能有效。
3. 實例變量和局部變量允許命名沖突。
 

實例變量:

1. 實例變量的對象賦值為null,可以 public int形式,系統自動賦值,而局部不行必須要以a=3賦值才開始運算。

 

局部變量:

1,使用全局變量會占用更多的內存(因為其生命期長),不過在計算機配置很高的今天,不成為什么問題,除非使用的是巨大對象的全局變量,調用全局變量的機會變多,所以會略占內存。
2,當全局變量與局部變量重名的時候,起作用的是局部變量,全局變量被屏蔽掉。
3,當一個java文件要引用另一個java里定義的一個全局變量時就要用extern
例如 A的java定義一個全局變量int a;   //定義一個全局變量a
       B的java想引用要extern int a;   //聲明一個全局變量a          B在開頭聲明引用,下面的代碼就能用此變量了。
 

靜態局部變量:

1. 靜態局部變量 始終存在着,也就是說它的生存期為整個源程序
2. 允許對構造類靜態局部量賦初值。若未賦以初值,系統自動賦值,數值型變量自動賦初值0,字符型變量賦空字符。
 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM