A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© rla540 中级黑马   /  2012-12-19 00:02  /  1978 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class MyClass
   {
        public static int staticNumber = 0x12345678;//定义静态变量
        public int number = 0;
        public void setStaticValue(int num)
        {
            staticNumber = num;            
        }
   }
class Program
    {
        static void Main(string[] args)
        {
          //通过类名直接调用
            MyClass.staticNumber = 0x77777777;
            MyClass class1 = new MyClass();
            MyClass class2 = new MyClass();
            class1.number = 0x11111111;
            class1.setStaticValue(0x11111111);//对象1调用
            class2.number = 0x22222222;
            class2.setStaticValue(0x22222222);//对象2调用
        }
    }






通过以上观察分析这下我们就明白静态成员变量和非静态成员变量的区别了吧!
总结:静态成员变量在进入main之前就已经在内存中分配并赋值了!静态成员变量存放在单独的一块存储区域。而非静态成员变量只有在生成对象是才会在堆中为其分配存储空间!每个对象的同名非静态变量都有自己的空间。而静态成员变量是被各对象共享使用的。
不用创建对象就已经存放,当然可以用类名直接调用喽! 你也可以这么想,静态成员变量就像是公共厕所,大家都可以访问,而非静态的就像是你家的厕所,别人是不能随便访问的!别人想要访问得经过你的同意授权才可以!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
请问这是什么编辑工具,我挺喜欢的?
回复 使用道具 举报
哥们用的是哪个编译工具啊   能给个链接不
回复 使用道具 举报
{:soso_e179:}
回复 使用道具 举报
dbqwaii 发表于 2012-12-19 13:47
哥们用的是哪个编译工具啊   能给个链接不

用得是vs2012网上就可以下到,还有破解CDK,很好找的
回复 使用道具 举报
种生祥 发表于 2012-12-19 14:28

用得是vs2012网上就可以下到,还有破解CDK,很好找的
回复 使用道具 举报
我也喜欢黑色主题{:soso_e113:}  
vs2012 →  工具 →  选项 →  环境 →  常规 →  视觉体验 →  颜色主题 →  深色
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马