全局变量是直接在类中声明的对象,其作用域是其所在的整个类,如果没有对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值:int初始值为0,浮点型是0.0,boolean为false,char类型为""。如:
而对于局部变量是定义在方法中的参数、方法中定义的变量和代码块中,局部变量的作用域范围从定义的位置开始到其所在语句块结束。
【int a = 1;】作用范围在if循环中,因此下面输出a时会报错,
局部变量是没有默认值的,所以在使用局部变量时必须要对其赋值。
如果局部变量的名字与全局变量的名字相同,则在局部变量的作用范围内使用的是局部变量,全局变量被隐藏,若想在局部变量中使用全局变量,则使用this关键字。
此外要注意this不能用在静态代码块或静态方法中。