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);//静态变量在其它类中直接用类名.变量名
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44580492/article/details/105737751