java中类变量和实例变量区别(数值的改变)
publicclassA{ staticinta=0;  ...
public class A{ static int a = 0; int b = 0;} public class B{ public static void main(String [] args){ A a1 = new A(); A a2 = new A(); a1.a = 3; a1.b = 4; System.out.println(a2.a); System.out.println(a2.b); }} 为什么:a2.a = 3 而 a2.b = 0(没有改变呢?)
展开
5个回答
展开全部
这好比你住的地方有两个厕所,一个是公共的,一个是你自己私有的。类变量就是公共厕所,大家共享。所以,只要公共厕所装修了,其他成员都能知道(有权力去的人都可能知道)。而你自己的厕所发生变化了,其他人是没法知道的。所以当别人装修了自己的厕所,你肯定不会知道。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简而言之,类共享类变量,所以a2.a=3操作后 class A中a的值就变为3,自然a2.a输出值为3了。而实例变量b在被操作后,只是对于对象a1的变量b,局部的, 而不是整个类。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-15
展开全部
一个是类的变量(全局变量),一个是实例变量(局部变量)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么会有两个public class?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询