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

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

  1. 定义
    成员变量:在方法体外,类体内声明的变量为成员变量。
    局部变量:在方法体内声明的变量叫做局部变量。
    成员变量与局部变量的区别_第1张图片
  2. 成员变量与局部变量的异同
    (1)声明位置:成员变量声明在类内,局部变量声明在方法形参以及方法内,代码块内部,构造器内部等。
    (2)修饰符:成员变量可以使用权限修饰符如:public,private,static,final等;局部变量不能使用权限修饰符,可以使用final。
    (3)初始化值:成员变量有默认初始化值,这里赋值规则与数组赋值一样;局部变量没有默认初始化值,必须显性赋值。
    成员变量与局部变量的区别_第2张图片(4)内存加载位置:成员变量在堆空间或静态域内加载;局部变量在栈内加载。
public class VariableTest {
     
    public static void main(String[] args) {
     
        int age;
        Person test1 = new Person();
        System.out.println(test1.name); //null
//        System.out.println(age); //编译不通过,局部变量必须显性赋值,没有默认值
    }


    static class Person{
     
        String name;  //成员变量,直接声明在类中,有默认初始化值
    }
}

你可能感兴趣的:(Java学习日志,java)