标题:脑袋卡壳,怎么也想不出静态变量的值 4 从哪里来的?请教
只看楼主
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
结帖率:96.15%
已结贴  问题点数:5 回复次数:2 
脑袋卡壳,怎么也想不出静态变量的值 4 从哪里来的?请教
一、题目 静态成员和非静态成员的区别。
例题代码:
namespace 书本例题
{
    class Program
    {
        class StaticC1
        {
            private string objName;
            private int x;     //非静态成员变量
            private static int stx;  //静态成员变量
            public void setx(int x)  //非静态成员方法
            {
                this.x = x;
            }
            public static void setstx(int y)  //静态成员方法
            {
                stx = y;
            }
            public void show()  //非静态成员方法
            {
                Console.WriteLine("对象{0}:X={1},stx={2}", this.objName, x, stx);
            }
            public StaticC1(string objName)
            {
                this.objName = objName; x = 0; stx = 0;
            }

        }

        static void Main(string[] args)
        {
            StaticC1 c1 = new StaticC1("c1");
            StaticC1 c2 = new StaticC1("c2");

            c1.setx(1);
            StaticC1.setstx(2);

            c2.setx(3);
            StaticC1.setstx(4);

            c1.show();
            c2.show();

 
            Console.ReadKey();
        }
    }
}
运行结果:
对象c1:x=1,stx=4;
对象c2:x=3,stx=4;

二、我的理解

1、关于非静态变量,我能理解。
2、关于静态变量stx的值,我不明白的是,这个stx=4,这个4从哪里来的?
好像并没有赋值啊?

真正的脑袋卡壳了。晕,我都不认识自己了,学C#学的东南西北都不知道了。请大侠们帮小虾清清头脑。
搜索更多相关主题的帖子: private public 
2014-08-23 10:18
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:5 
private static int stx;  //静态成员变量

这就是static的作用,因为两个对象c1和c2都用到了这个变量,它保存在静态存储区,数值就是以最后一次赋值为它的值。覆盖掉上一次赋值

Maybe
2014-08-23 12:10
lxsxd
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:153
专家分:357
注 册:2014-4-15
得分:0 
感谢信
-------
谢谢 邓士林 版主!理解了。

艰难地走在C#自学的路上…………
2014-08-23 16:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435263-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.216973 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved