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

所属不同
    静态变量属于类,所以也称为为类变量
    成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
    静态变量存储于方法区的静态区
    成员变量存储于堆内存
内存出现时间不同
    静态变量随着类的加载而加载,随着类的消失而消失
    成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
    静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用
局部静态变量成员变量是两种不同作用域的变量,它们的主要区别如下: 1. 作用域不同: - 局部静态变量是在函数或代码块内部定义的静态变量,它只能在定义它的函数或代码块内访问,但在函数调用结束后不会销毁,保留上次的值。 - 成员变量是定义在类内部的变量,它是类的一个属性,可以被类的任何方法访问,属于类的实例。 2. 存储位置不同: - 局部静态变量存储在程序的数据段,不会随着函数调用和返回而创建或销毁,只会被初始化一次。 - 成员变量根据其定义为静态或非静态,存储位置有所不同。非静态成员变量存储在对象的内存空间中,即对象的实例变量;静态成员变量存储在程序的数据段,属于类本身,而不是类的某个特定对象。 3. 生命周期不同: - 局部静态变量在程序执行到定义该变量的函数时被初始化,之后在整个程序执行期间一直存在,直到程序退出。 - 成员变量分为静态成员变量和非静态成员变量。非静态成员变量的生命周期与对象的生命周期相同,随着对象的创建而初始化,随着对象的销毁而结束。静态成员变量的生命周期与程序的生命周期相同。 4. 访问方式不同: - 局部静态变量只能在其定义的函数或代码块内部访问,外部访问通常需要通过函数返回值或者其他方式。 - 成员变量可以通过对象直接访问非静态成员,或者通过类名直接访问静态成员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值