java static 修饰变量吗,关于Java中被static修饰的静态变量 (类变量)

首先Goo某的翻译, static :(adj) 静止的,不变的。

在所有程序编译运行的过程中,变量都是由系统自动分配内存进行存储的。

在这个存储过程中,static所修饰的变量(也就是静态变量),它所被分配的空间是一直伴随程序运行的,空间将会保持到程序的结束关闭,才会被释放。

换句话说:程序运行时,系统分配给静态变量的内存是一直存在的,除非程序被终止。

根据这一点来看,假若在定义一个类的过程中,定义了一个static修饰的变量,那么这个类在被加载的同时,被static修饰的变量就存在于内存当中了,这样一来就独立于该类的所有对象,被该类所有对象共享,将对象相关的变成了类相关,所以静态变量也可以称之为类变量。

假设一个类中某个属性被static所修饰,那么就可以通过"类名.属性名"来访问。

例子:

1 public classDemo{2 public static voidmain(String[] args){3 Worker w1 = new Worker("Jack");4 w1.startWork();5 System.out.println("当前开工的总人数:"+Worker.totle);6 Worker w2 = new Worker("Rose");7 w2.startWork();8 System.out.println("当前开工的总人数:"+Worker.totle);9 }10 }11

12 classWorker{13 String name;14 static inttotle = 0;15

16 publicWorker(String name){17 this.name =name;18 }19

20 public voidstartWork(){21 totle++;22 System.out.println("工人:"+this.name+"开工了。");23 }24 }

运行结果:

2bd092b2a916bc60139297c0c1e12160.png

值得注意的一点是:例子中的实例变量name是在创建对象时,通过构造器初始化的。

而被static修饰的类变量totle在类的加载过程中,就被初始化的。

原文:http://www.cnblogs.com/viusuangio/p/6418673.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值