成员变量、局部变量、静态变量

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

 

成员变量

局部变量

静态变量

定义位置

 在类中,方法外

方法中,或者方法的形式参数

在类中,方法外

初始化值

有默认初始化值

,先定义,赋值后才能使用

有默认初始化值

调用方式

对象调用

---

对象调用,类名调用

存储位置

堆中

栈中

方法区

生命周期

与对象共存亡

与方法共存亡

与类共存亡

别名

实例变量

---

类变量

 总结:

  尽管三者的本质都是变量,可是使用时却有相当大的区别,稍不留神就可能陷入陷阱。且先记住:在一个类中,如果一个变量能够用来描述一个类的属性,那就定义为成员变量,否则,它就应该定义为局部变量。而如果一个变量在全局中都能使用(某个内容是被所有对象所共享),那么我们就可以把这个变量用static来修饰,即为静态变量。(还要注意它与静态方法的紧密联系,这里且不细述了)

原文地址:https://www.cnblogs.com/langren1992/p/9529851.html