成员变量与静态变量、局部变量间的区别

一、成员变量与静态变量的区别

   1、所属不同:成员变量属于对象,也称实例变量

                          静态变量属于类,也称类变量

   2、内存中位置不同:成员变量存储在堆内存

                                     静态变量存储在方法区的静态区

   3、内存出现时间不同:成员变量随对象的创建而存在,随对象的消失而消失

                                        静态变量随类的加载而加载,随类的消失而消失

   4、调用不同:成员变量只能通过对象而调用

                           静态变量可以通过类名调用,也可以通过对象调用

二、成员变量与局部变量的区别

   1、类中位置不同:成员变量在类中方法外

                                 局部变量在方法定义中或方法声明上

   2、内存中位置不同:成员变量在堆内存

                                     局部变量在栈内存

   3、生命周期不同:成员变量随对象创建而存在

                                 局部变量随方法的调用而存在

   4  、初始化值: 成员变量有默认的初始化值

                             局部变量必须定义赋值

 

你可能感兴趣的:(成员变量与静态变量、局部变量间的区别)