Java 局部變量、實例變量、類變量(靜態變量)區別
阿新 • • 發佈:2017-05-18
其中 對象 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 局部變量、實例變量、類變量(靜態變量)區別