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

局部变量 成员变量

1、定义的位置不一样

在方法的内部,方法申明上(形参)

声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量

在方法的外部,直接写在类当中

类中方法外的变量

2、作用范围不一样

(作用域)

只有方法当中才可以使用,出了方法就不能再用 整个类全都可以通用

3、默认值不一样

(初始化值不同)

没有默认值,如果要想使用,必须手动进行赋值

成员变量和局部变量的区别_第1张图片

如果没有赋值,会有默认值,规则和数组一样

(有默认初始化值)

4、内存的位置不一样 位于栈内存 位于堆内存
5、生命周期不一样       随着方法进栈而诞生,随着方法处栈而消失 随着对象创建而诞生,随着对象被垃圾回收而消失
6、权限修饰符的不同 不可以使用权限修饰符

可以声明属性时,指明其权限,使用权限修饰符。

常用的权限修饰符:private、public、确省、protected

--->  封装性

 为什么形参不用初始化?

成员变量和局部变量的区别_第2张图片

 成员变量和局部变量的内存图解

成员变量和局部变量的区别_第3张图片

你可能感兴趣的:(#,面向对象,jvm,java,成员变量和局部变量,成员变量,局部变量,内存图,开发语言)