您的位置:首页 > 其它

被static修饰的成员变量可以被修改吗

2017-11-23 20:01 309 查看
被static修饰的变量、常量、方法被称作静态变量、静态常量以及静态方法。

那么被static修饰的成员变量可以被修改吗?可以。只要是变量就可以被修改。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被

加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。

两者的区别是:

 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。

 对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。

所以一般在需要实现以下两个功能时使用静态变量:

1.在对象之间共享值时

2.方便访问变量时

static final修饰的成员变量可理解为“全局常量”,常量的值才是不能更改的,才是不可修改的!

静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。
说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用的时候,如果我们给静态变量赋予某个值的话,
下次函数调用时,这个值保持不变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐