类变量详解

类变量

  • 类变量的定义

类变量也叫静态变量/静态方法,是该类的所有对象共享的变量,任何一个该类的对象访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量.

  • 类变量的定义语法

推荐使用 :访问修饰符 static 数据类型 变量名;
当然也可以: static 访问修饰符 数据类型 变量名

  • 访问类变量

推荐使用: 类名.类变量名
当然也可以用: 对象名.类变量名
需要注意的是

  • 静态变量的访问修饰符的访问权限和范围与普通类型是一样的
  • 类变量是随着类加载而加载(用到类的时候会加载,只加载一次),所以即使没有创建实例对象也可以访问
    访问变量名的代码解释
public class Visit {  //简简单单的代码解释,相信大佬们都能看懂
    public static void main(String[] args) {
        System.out.println(A.name);//输出李文浩
        A a = new A();              //两个输出效果相同
        System.out.println("a.name="+a.name);//输出a.name=李文浩
    }
}
class A{
    public static String name="李文浩";
}
  • 什么时候需要用类变量

需要让某个类的所有对象共享一个变量时,可以考虑使用类变量

  • 类变量和实例变量区别

  • 类变量是该类所有对象共享的,而实例变量是每个对象独享的

  • 加上static称为类变量或者静态变量,否则称为实例变量/普通变量/非静态变量

  • 实例变量不能用类名了.变量名访问

关于静态变量/类变量在内存中的位置

关于这个问题网上流传版本不同,原因是随着jdk的版本不同,但却有以下共识

  • static变量是同一个类所有对象共享,不必知道其具体位置也行
  • static在类加载时生成,只加载一次,没有创建对象实例也可以通过类名.类变量来访问,生命周期随类加载而开始,随类消失而消亡那个,与对象无关
  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一心向上的文浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值