Java中三種變量


Java三大變量分別是類變量(靜態變量)、實例變量和局部變量(本地變量)

局部變量就是本地變量,在方法、構造器或者塊中使用,在方法、構造器或者塊進入時被創建,一旦退出該變量就會被銷毀

局部變量沒有默認值,因此本地變量必須被聲明並且在第一次使用前要給它賦值

實例變量:在類中聲明,但是它在方法、構造器或者塊外,當堆中的對象被分配了一個空間時,每個實例變量的位置就被創建了。

    當對象采用關鍵字“new”創建時實例變量就被創建了,當對象被銷毀時它也就被銷毀了。

    實例變量的值必須被一個以上的方法、構造器或者塊,或者類中必須出現的對象的狀態的重要部分所引用

    實例變量可以用訪問描述符

    實例變量有默認值。數字的默認為0,boolean的默認為false,對象引用默認值為NULL

    實例變量可以直接采用在類中叫名字方式訪問。然而在靜態方法和不同的類中應當使用完全限定名稱。ObjectReference.VariableName

實例變量是歸屬於類的實例的變量,又稱為成員變量,沒有經過static修飾。實例變量只能通過類名的實例+點操作符+變量來操作。

類變量:也叫靜態變量,在類中用static關鍵字聲明,但是它在方法、構造器或者塊之外。

    每個類只有一個類變量,不管這個類有多少個對象。

    除了作為常量被聲明之外,類變量很少被應用。常量是被作為public、private、final和static被聲明的變量。實例變量的初始值不會被改變

    靜態變量存儲在靜態內存中,很少采用靜態變量而不是聲明結束或者用常量public或private之一。

    靜態變量隨着程序的開始和結束而開始和結束。

    可見性和實例變量類似。然而大多數靜態變量被聲明為public由於他們必須為類的使用者所用。

    默認值和實例變量類似,除此之外,可以在特殊的靜態初始化區賦值

    靜態變量可以用類的名稱訪問ClassName.VariableName

    當靜態變量被作為public static final聲明時,變量(常量)名稱都要用大寫字母。如果靜態變量不是public和final,它的命名方法和實例變量和本地變量相同。

類變量不僅可以直接通過類名+點操作符+變量名來操作,也可以通過類的實例+點操作符+變量來操作,大多數情況下,采用前者操作方式,一來不能夠有效地使用該變量,二來能夠表示該變量就是類變量。

例子:

 1 /** 
 2  *<p>Title:Java三大變量</p> 
 3  *<p>Description:演示Java三大變量的特性</p> 
 4  *<p>Copyright:copyright(c) 2012</p> 
 5  *<p>Filename:VariableType.java</p> 
 6  *@author 王路情 
 7  *@version 1.0 
 8  */  
 9 public class VariableType  
10 {  
11  //定義類變量  
12  public static String name = "王路情";  
13  //定義實例變量  
14  public char sex = 'M';  
15   
16  /** 
17   *方法描述:輸出對中國祝福的內容 
18   *輸入參數:String str 
19   *返回類型:void 
20   */  
21  public String print(String str)  
22  { //定義局部變量  
23    String str1 = "中國,";  
24     
25    return str1 + str;  
26  }  
27  /** 
28   *方法描述:主方法 
29   *輸入參數:String[] args 
30   *返回類型:void 
31   */  
32   
33  public static void main(String[] args)  
34  {  
35   System.out.println("類變量");  
36   System.out.println("名字:" + VariableType.name);  
37     
38   VariableType type = new VariableType();  
39   System.out.println("實例變量");  
40   System.out.println("性別:" + type.sex);  
41   System.out.println("局部變量");  
42   System.out.println("祝福:" + type.print("我愛你!") ); }  
43 }  

 


免責聲明!

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



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