java基础学习-局部变量和成员变量

2021-12-18 13:41:06 浏览数 (1)

什么是局部变量:

定义在方法中的变量为局部变量,例如下方代码中的a和name都为局部变量

代码语言:javascript复制
public class VarDemo {
    public void show(){
        //局部变量
        int a = 100;
        String name = "lisi";
    }

    public static void main(String[] args) {

    }
}

作用域:从定义的这个方法开始到结束,只能在当前方法中使用 例如:a和name只能在show方法中被使用

代码语言:javascript复制
public class VarDemo {
    public void show(){
        //局部变量
        int a = 100;
        String name = "lisi";
    }

    public static void main(String[] args) {
        System.out.println(a);
    }
}

上述代码报错:

什么是成员变量:

定义在方法外,类内的变量叫做成员变量(全局变量),例如下方代码中的b就为成员变量,可以被其他方法引用

作用域:整个类体内

代码语言:javascript复制
public class VarDemo {
    int b = 200;
    public void show(){
        //局部变量
        int a = 100;
        String name = "lisi";
        System.out.println(b);
    }

    public static void main(String[] args) {
        
    }

局部变量与成员变量的区别:

  • 声明位置不同:成员变量在类中; 局部变量方法中
  • 作用范围不同:成员变量当前类的方法 ;局部变量当前方法
  • 不同的方法中即使有同名的局部变量,没有关系,互不影响,建议相同
  • 内存存放的位置:局部变量在栈内存中 成员变量在堆内存中
  • 成员变量有默认值;局部变量没有默认值
  • 局部变量不包含默认值,如果没有使用当前变量可以不赋值;成员变量包含初始值

0 人点赞