当前位置: 首页 > 编程笔记 >

浅谈静态变量、成员变量、局部变量三者的区别

秦学林
2023-03-14
本文向大家介绍浅谈静态变量、成员变量、局部变量三者的区别,包括了浅谈静态变量、成员变量、局部变量三者的区别的使用技巧和注意事项,需要的朋友参考一下

静态变量和成员变量的区别:

A:所属不同

 静态变量:属于类,类变量
 
 成员变量:属于对象,对象变量,实例变量

B:内存位置不同

 静态变量:方法区的静态区
 
 成员变量:堆内存

C:生命周期不同

 静态变量:静态变量是随着类的加载而加载,随着类的消失而消失
 
 成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失

D:调用不同

 静态变量:可以通过对象名调用,也可以通过类名调用
 
 成员变量:只能通过对象名调用

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

A:在类中的位置不同

 成员变量:在类中方法外
 
 局部变量:在方法定义中或者方法声明

B:在内存中的位置不同

 成员变量:在堆内存
 
 局部变量:在栈内存

C:生命周期不同

 成员变量:随着对象的创建而存在,随着对象的消失而消失
 
 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

D:初始化值不同

 成员变量:有默认初始化值
 
 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
 
注意事项:

 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

以上就是小编为大家带来的浅谈静态变量、成员变量、局部变量三者的区别的全部内容了,希望对大家有所帮助,多多支持小牛知识库~

 类似资料:
  • 本文向大家介绍浅谈JavaScript的全局变量与局部变量,包括了浅谈JavaScript的全局变量与局部变量的使用技巧和注意事项,需要的朋友参考一下 一、JavaScript scope 的划分标准是function函数块,不是以 if、while、for来划分的 二、JavaScript在执行之前会对整个脚本文件进行预编译(对脚本文件的声明部分做分析,包括局部变量部分),从而确定实变量的作用域

  • 本文向大家介绍成员变量与局部变量的区别有哪些?相关面试题,主要包含被问及成员变量与局部变量的区别有哪些?时的应答技巧和注意事项,需要的朋友参考一下 从语法形式上看:成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 fin

  • 本文向大家介绍PHP静态成员变量和非静态成员变量详解,包括了PHP静态成员变量和非静态成员变量详解的使用技巧和注意事项,需要的朋友参考一下 数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于

  • 本文向大家介绍java中成员变量与局部变量区别分析,包括了java中成员变量与局部变量区别分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了java中成员变量与局部变量区别。分享给大家供大家参考。具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类。 创建以及使用成员变量 成员变量初始化过程 一、类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态

  • 主要内容:几点说明 对象的内存中包含了成员变量,不同的对象占用不同的内存(已在《 C++对象的内存模型》中提到),这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b,它们都有一个成员变量 m_name,那么修改 a.m_name 的值不会影响 b.m_name 的值。 可是有时候我们希望在多个对象之间共享数据,对象 a 改变了某份数据后对象 b 可以检测到。共享数据的典型使

  • 本文向大家介绍PHP静态成员变量,包括了PHP静态成员变量的使用技巧和注意事项,需要的朋友参考一下 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. 1、静态全局变量 定义:在全局变