1. 程式人生 > >Java 局部變量、實例變量、類變量(靜態變量)區別

Java 局部變量、實例變量、類變量(靜態變量)區別

其中 對象 llc -c cli num 改變 system name

1. 局部變量:

局部變量是類的方法中的變量;

2. 實例變量:

實例變量也是類中獨立於方法之外的變量,不過沒有static修飾,也叫 對象變量

3. 類變量(靜態變量):

類變量是類中獨立於方法之外的變量,用static 修飾,也叫 靜態變量

4. 偽代碼說明

public class Variable{
     static int allClicks=0;//類變量
     String str="hello world";//實例變量
     public void method(){
        int i =0;//局部變量
     }
}

5. 實例變量與類變量區別

區別在於:
類變量和實例變量的區別在於:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變後的結果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象;

demo說明:

public class A{
    static  int a = 0; //類變量
    private int b = 0; //實例變量
} 

public class B{
    public void main (String[] args){
        A a1 = new A();
        A a2 = new A();
        a1.a = 3;  // 等同於 A.a = 3;
        a1.b = 4 ;
        System.out.println(a2.a); //結果為3
        //類變量是針對所有對象的,所以a1改變a,a2的a也改變
        System.out.println(a2.b); //結果為0
        //實例只改變自身的,所以a1對象的b改變,不影響對象a2的b變量
    }
}

變量的有效範圍
成員變量:在類中聲明,在整個類中有效 {
靜態變量 使用static關鍵字修飾 public static int age=100; 可以使用類的實例對象訪問 也可以直接使用類名進行訪問
實例變量 只能通過實例對象訪問


}
局部變量:在方法內或方法內的某代碼塊(方法內部,"{"與"}")中聲明的變量
在方法內某代碼塊中聲明的局部變量,只能在當前的代碼塊中有效
在代碼塊外 方法內聲明的局部變量,在整個方法內都有效
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

Java 局部變量、實例變量、類變量(靜態變量)區別