局部变量和成员变量区别
1.默认值:成员变量有默认值 就算不赋值也可以直接使用
局部变量没有默认值 所以使用之前必须赋值
2.优先级:如果成员变量和局部变量同时存在名称相同 优先级更高的局部变量(相当于就近原则)
3.作用范围:成员变量 可以在全类使用 局部变量 只能在你定义的区域使用(if();for())
4.自己的内容:局部存储栈(栈帧的局部变量表) 成员变量存储在堆 对象销毁时成员变量也销毁
局部变量就随着方法结束(栈帧结束)也会销毁
成员变量和静态变量区别
1.生命周期:成员随着对象创建而创建 静态随着类加载而创建
2.使用方式:成员只能通过实例访问 静态变量可以通过实例访问 也可以多一种 通过类名访问 推荐使用类名
3.内存区域:成员存储堆 静态存储方法区。。。