Java - 15 作用域
class Cat{
int age = 1; // 全域性變數(屬性),作用域是整個cat類
{
int num = 100; // 程式碼塊中 - 區域性變數
}
public void say(){
String greet = "hello"; // 區域性變數(除了屬性之外就是區域性變數),只能在say方法中使用
System.out.println(age);
}
}
- 屬性(全域性變數)如果不賦值也可以直接使用,有預設值,規則和陣列一致、
- 區域性變數必須賦值後才能使用,沒有預設值
- 屬性和區域性變數可以重名,遵循就近原則
- 同一作用域中,區域性變數不能重名
- 屬性生命週期長,伴隨物件的建立而建立,伴隨物件的銷燬而銷燬
- 區域性變數生命週期短,伴隨程式碼塊的執行而建立,伴隨程式碼塊的結束而銷燬
-
全域性變數可以被本類或其它類使用
-
區域性變數只能在本類中對應方法使用
- 屬性可以加修飾符
- 區域性變數不能加修飾符