成员变量与局部变量的区别
程序员文章站
2022-05-03 22:09:20
A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随 ......
成员变量与局部变量的区别
- 成员变量定义在类中,整个类中都能访问,与具体所在的位置无关。
- 局部变量定义在方法、语句、局部代码块中,旨在所属的区域有效,而且必须是先定义后使用,先赋初值后使用。
public class Student{
public void who(){
return name;
}
private String name;//成员变量----属性
public void eat(){
String food="rice";//局部变量,只在此范围内使用
}
}
- 成员变量存在于对内存的对象中堆内存中的对象大小可以任意,并允许在运行时进行调整,所以访问查找的效率比较低。
- 局部变量存在于栈内存中,可以快速定位,但是大小是限定的。
- 成员变量随着对象的创建而存在,随着对象的表示而消失。
- 局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。
- 成员变量都有默认初始值。数值类型默认为0;字符型默认为"\0";布尔类型默认为"false";引用类型默认为"null"。
- 局部变量没有默认初始值。
本文地址:https://blog.csdn.net/weixin_44263279/article/details/112548259