一个关于java静态成员变量初始化的问题,目前有两个类,分别是A和B。

假如A中有三个静态变量a,b,c,我在B类中使用A.a,A.b,A.c,对他们进行了赋值。而我又没有newA对象,那么该静态变量是否已经初始化了。也就是说B类中使用完毕之... 假如A中有三个静态变量a,b,c,我在B类中使用A.a,A.b,A.c,对他们进行了赋值。而我又没有new A对象,那么该静态变量是否已经初始化了。也就是说B类中使用完毕之后,再new A对象,那些数值还存在吗?还需要重新初始化吗?如果不用的话,那么该静态变量的改变是永久生效的吗? 展开
 我来答
NE1987
推荐于2016-03-13 · 超过11用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:33.8万
展开全部
A.a,A.b,A.c的时候就已经初始化了,即使你没有new A,而当你B类中使用完毕之后,再new A对象,数值肯定还存在,因为静态变量是全局的,而且只有一份,所以对象共用,所以不需要重新初始化了,静态变量的改变是程序运行的时间内是永久生效的。
没有响应m2
2012-08-08 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3510万
展开全部
静态变量在定义的时候就已经初始化了 如果没有赋值 那就是默认值 int的话就是0 对象就是null
静态变量是属于类本身的 不属于具体的某一个对象 所有类的实例都会公用这些静态变量
所以就算你new A对象这个对象的静态变量的值还是之前值
追问
其实你们都回答的很好,但答案只能给一个人了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sbdgvLZLW
2012-08-08 · TA获得超过309个赞
知道小有建树答主
回答量:103
采纳率:100%
帮助的人:118万
展开全部
对于静态变量和方法,JAVA虚拟机会专门开辟一段内存空间来储存。
B类使用A类的静态变量后,静态变量是已初始化了,new A对象,对静态区无影响,静态变量的值还是存在的,只要JVM不关,静态变量是永久生效的
追问
其实你们都回答的很好,但答案只能给一个人了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-08
展开全部
补充:这个静态变量当被改变时将全局都被改变。当类被销毁后就没了。不是永久的。
建议看看变量的作用范围。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨蛋茶125
2012-08-08
知道答主
回答量:10
采纳率:0%
帮助的人:1.4万
展开全部
已经初始化了,在类A加载时候就初始化了,而且只有一份值!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式