一、局部变量
局部变量在方法,构造方法或代码块内声明,只在其声明范围内有效。
public class Test {
int a;
public void amd(){
int a1;
}
public static void main(String[] args) {
System.out.println(a1);
}
}
以上代码中,a1的变量定义在amd方法内,因此在main方法内调用时会报错:无法解析符号a1。由此可知,局部变量的生命周期仅限于方法调用时,方法结束时会自动销毁无法调用。但这带来了一个好处,那就是方法内的变量名不用担心因重名问题而报错。
局部变量也会带来一个问题,Java系统不会给局部变量自动赋值,所以必须要手动赋值。
public class Test {
int a;
public void amd(){
int a1;
System.out.println(a1);
}
}
例如上面这一段代码,a1因为没有赋值会导致报错,所以局部变量不能像成员变量一样定义好就放到一边不管。
二、成员变量(全局变量)
成员变量的声明位置在类的内部,方法的外部,所以可以在整个类中使用,根据修饰符的不同,可以通过导入在其它包中的其它类中使用。
public class Test {
int a;
public void amd(){
System.out.println(a);
}
}
例如上面的这段代码,amd方法调用a这个全局变量就不会报错,因为a这个变量存储在方法外部,代表的是Test这个类的对象的变量,Java系统就会自动赋一个值给它,直接输出也不会报错。而成员变量会在对象创建时自动初始化,在对象销毁时自动销毁。
1056

被折叠的 条评论
为什么被折叠?



