1. 从语法形式上看:成员变量是属于类的,⽽局部变量是在⽅法中定义的变量或是⽅法的参数;成员变量可以被publicprivatestatic等修饰符所修饰,⽽局部变量不能被访问控制修饰符及static所修饰;但是,成员变量和局部变量都能被final所修饰。
  2. 从变量在内存中的存储⽅式来看:如果成员变量是使⽤static修饰的,那么这个成员变量是属于类的,如果没有使⽤static修饰,这个成员变量是属于实例的。对象存于堆内存,如果局部变量类型为基本数据类型,那么存储在栈内存,如果为引⽤数据类型,那存放的是指向堆内存对象的引⽤或者是指向常量池中的地址。
  3. 从变量在内存中的⽣存时间上看:成员变量是对象的⼀部分,它随着对象的创建⽽存在,⽽局部变量随着⽅法的调⽤⽽⾃动消失。
  4. 成员变量如果没有被赋初值:则会⾃动以类型的默认值⽽赋值(⼀种情况例外:被final修饰的成员变量也必须显式地赋值),⽽局部变量则不会⾃动赋值。
最后修改日期: 2021年11月20日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。