静态变量和成员变量的区别 && 成员变量和局部变量的区别

Posted Bruce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态变量和成员变量的区别 && 成员变量和局部变量的区别相关的知识,希望对你有一定的参考价值。

=============================================================================

1)静态变量和成员变量的区别:
  (1):所属不同:
    静态变量:属于类,也称为类变量。
    成员变量:属于对象,也称为对象变量或实例变量。
  (2):在内存中的位置不同:
    静态变量:存储于方法区的静态区。
    成员变量:存储于堆内存。
  (3):生命周期不同:
    静态变量:静态变量是随着类的加载而加载,随着类的消失而消失。
    成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失。
  (4):调用不同:
    静态变量:可以通过对象名调用,也可以通过类名调用。
    成员变量:只能通过对象名调用。

=============================================================================

2)成员变量和局部变量的区别:
  (1)在类中的位置不同:
    成员变量:在类中方法外。
    局部变量:在方法定义中或者方法声明上(即形参)。
  (2)在内存中的位置不同:
    成员变量:在堆中。
    局部变量:在栈中。
  (3)生命周期不同:
    成员变量:随着对象的创建而存在,随着对象的消失而消失。
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
  (4)初始化值不同:
    成员变量:有默认值。
    局部变量:没有默认值,必须定义,赋值,然后才能使用。
  (5)注意事项:
    局部变量名称可以和成员变量名称一样,但是在方法中使用该变量的时候,采用的是就近原则(即先找小范围,再找大范围)。

=============================================================================

以上是关于静态变量和成员变量的区别 && 成员变量和局部变量的区别的主要内容,如果未能解决你的问题,请参考以下文章

JUC并发编程 -- 变量的线程安全问题(成员变量 & 静态变量 & 局部变量 & 开闭原则 & 理解JDK 中 String 类的实现)

❥关于C++之类的静态成员变量&静态成员函数

C++ static 静态变量&静态成员函数

C++学习笔记.关键字static&静态成员变量

C++学习笔记.关键字static&静态成员变量

C++学习笔记.关键字static&静态成员变量