Java中的局部变量、成员变量和静态变量
静态变量 又称类变量
一、区别
1.定义位置
局部变量:在方法内部
实例变量:在类中,方法外面
静态变量:在类中,方法外面
2.作用范围
局部变量:方法内有效
实例变量:整个类都可用
静态变量:整个类都可用,可以直接被类调用
3.默认值
局部变量:没有默认值,使用之前需要赋值
实例变量:有默认值
静态变量:有默认值
4.内存位置
局部变量:在栈内存
实例变量:在堆内存
静态变量:在方法区
5.生命周期
局部变量:与所在方法的生命周期相同
实例变量:当创建所在类的对象时生效,对象被垃圾回收后失效
静态变量:随着类的加载而存在,随着类的消失而消失
二、变量的使用总结
public class Test{
	int a;//实例变量,有默认值
	public void method(int b;/*局部变量*/){
		int c;//局部变量,无默认值
		System.out.println(c);
		//如果打印直接打印变量 c 程序编译会出错,必须进行赋值
		System.out.println(b);
		//如果打印直接打印变量 b 程序编译不会出错
		//虽然 b 没有进行赋值,但是在方法调用时,必然会给方法传递参数,b 也就被赋值了
	}
}
在代码编写过程中要尽量缩小变量的作用范围,变量在内存中存留时间越短,性能越高。
public class Test {
    static int a;//静态变量
}
class Test1 {
    public static void main(String[] args) {
        System.out.println(Test.a);//静态变量在其它类中直接用类名.变量名
    }
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号