成员变量,静态变量,与局部变量

类中的变量

1.成员变量(实例变量,静态变量)定义在类中, 方法外面
实例变量指的是类的一个实例,就是一个对象, 成员变量就是类中的变量(不是方法中的变量!) 类变量是类中的静态变量。

2.局部变量(定义在方法里面,使用时必须要初始化)


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

  1. 成员变量定义在类中,整个类中都可以访问;
    局部变量定义在函数、语句、局部代码块中,只在所属的区域有效。

  2. 成员变量存在于堆内存的对象中;
    局部变量存在于栈内存的方法中。

  3. 成员变量随着对象的创建而存在,随着对象的消失而消失;
    局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。

  4. 成员变量都有默认的初始化值;
    局部变量没有默认的初始化值。
    PS:使用变量时需要遵循的原则是:就近原则(首先在局部代码块范围内找,若有就使用;然后在成员位置找。)


成员变量与静态变量(类变量)的区别

1. 生命周期不同
成员对象随着对象的创建而存在,随着对象的被回收而释放;
静态变量随着类的加载而存在,随着类的消失而消失。

2. 调用方式不同
成员变量只能被对象调用;
静态变量可以被对象调用,还可以被类名调用。

3.别名不同
成员变量也称实例对象;
静态变量也成类变量。

4.数据存储位置不同
成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据;
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。


—-static关键字的特点:

1.static是一个修饰符,用于修饰成员
2.static修饰的成员被所有的对象所共享
3.static优先于对象存在,因为static是随着类的加载就已存在
4.static修饰的成员多了一中调用方式,可以直接被类名所调用;即:类名.静态成员
5.static修饰的数据是共享数据,对象中存储的是特有数据


—静态使用时的注意事项:

1.静态只能访问静态(非静态既可访问非静态,也可访问静态)
2.静态方法中不可以定义this或super关键字
3.主函数是静态的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值