Java - 15 作用域
class Cat{
int age = 1; // 全局变量(属性),作用域是整个cat类
{
int num = 100; // 代码块中 - 局部变量
}
public void say(){
String greet = "hello"; // 局部变量(除了属性之外就是局部变量),只能在say方法中使用
System.out.println(age);
}
}
- 属性(全局变量)如果不赋值也可以直接使用,有默认值,规则和数组一致、
- 局部变量必须赋值后才能使用,没有默认值
- 属性和局部变量可以重名,遵循就近原则
- 同一作用域中,局部变量不能重名
- 属性生命周期长,伴随对象的创建而创建,伴随对象的销毁而销毁
- 局部变量生命周期短,伴随代码块的执行而创建,伴随代码块的结束而销毁
-
全局变量可以被本类或其它类使用
-
局部变量只能在本类中对应方法使用
- 属性可以加修饰符
- 局部变量不能加修饰符