成员变量和局部变量的区别
成员变量和局部变量的区别
1.定义的位置不同
局部变量:方法内
成员变量:类里方法外
2.作用域不一样
局部变量:只有方法当中才可以使用,出了方法就不能再用了
成员变量:整个类全都可以使用
3.默认值不一样
局部变量:没有默认值 如果要想使用 必须手动进行赋值
成员变量:如果没有赋值,会有默认值 规则和数组一样
代码:
public class demo01Mingze {
String name;//成员变量
public void method(){
int age=20; //局部变量
System.out.println(age);
}
public void method01(){
/* 错误写法
因为局部变量的作用域仅仅值在method方法里 出了方法局部变量是不可以使用的
System.out.println(age);
*/
System.out.println(name);
}
}
这是最后一种区别
因为成员变量如果是int类型默认0如果是String默认null
而局部变量并没有初始值,有一种情况的局部变量不需要赋值就可以使用
它并没有报错 是因为我们再调用方法时,如果方法中有参数 我们必然会赋值 不赋值方法就会报错
4.内存的位置不一样
局部变量:位于栈内存
成员变量:位于堆内存
5.生命周期不一样
局部变量:随着方法进栈而诞生 随着方法出栈而消失
成员变量:随着对象创建而诞生 随着对象被垃圾回收而消失
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本