天天看点

变量(成员变量、局部变量)、堆栈

1、成员变量和局部变量的不同点:

(1)位置不同

成员变量:在类中,方法外

局部变量:方法中

(2)作用域不同

成员变量:整个类

局部变量:方法或语句内

(3)默认值不同

成员变量:有默认值(不赋初值不会报错)

局部变量:无默认值,赋值后才能使用(不赋初值会报错)

(4)内存位置不同

成员变量:堆内存

局部变量:栈内存

(5)生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

2、堆栈:java将内存划分为两种:堆内存和栈内存

(1)堆内存:堆内存用来存放由new创建的对象和数组。堆中的对象的由垃圾回收器负责回收,因此大小和生命周期不需要确定,具有很大的灵活性。

(2)栈内存:所有的方法运行的时候进入的内存,当没有调用时就被回收,缺乏灵活性

3、类变量、成员变量和局部变量

java中共有三种变量,分别是类变量、成员变量和局部变量。他们分别存放在jvm的方法区、堆内存和栈内存中。

每个人都会有一段异常艰难的时光 。

生活的压力 , 工作的失意 , 学业的压力。

爱的惶惶不可终日。

挺过来的 ,人生就会豁然开朗。

挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。

——杨绛