CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

关于静态成员和实例成员?请看下面程序.......

楼主ahking(aspire)2002-10-28 09:12:42 在 .NET技术 / C# 提问

using   System;  
  class   InstCount  
  {  
      public   InsCount()  
      {  
          instanceCount++;  
      }  
      static   public   int   instanceCount   =   0;  
  }  
  class   AppClass  
  {  
      public   static   void   Main()  
    {  
          Console.WriteLine(InstCount.instanceCount);  
          InstCount   ic1   =   new   InstCount   ic();  
        Console.WriteLine(InstCount.instanceCount);  
          InstCount   ic2   =   new   InstCount   ic();  
        Console.WriteLine(InstCount.instanceCount);  
   
    }  
  }  
  结果为什么是  
  0  
  1  
  2  
  不是每创建一个InstCount,instanceCount都等于0吗? 问题点数:20、回复次数:7Top

1 楼saucer(思归)回复于 2002-10-28 09:20:29 得分 20

you   are   wrong,   instanceCount   is   static,   it   is   only   initialized   once   to   0   or   whatever   value   you   specify   in   the   class   definition   --   when   the   class   InstCount   is   loaded   the   first   timeTop

2 楼coolbye(变形虫)回复于 2002-10-28 09:21:39 得分 0

static   public   int   instanceCount   =   0;  
  这个赋值语句只在声明instanceCount时有效。Top

3 楼slayersun(难得一见)回复于 2002-10-28 10:28:30 得分 0

因为你InstCount   ic1   =   new   InstCount();  
  所以他就调用class   InstCount的构造函数public   InsCount()  
  再实例化之后,instanceCount由0-1;同理在InstCount   ic1   =   new   InstCount();后到2;其他的你可以在static关键字上按F1找到帮助  
  Top

4 楼ahking(aspire)回复于 2002-10-28 11:07:49 得分 0

是不是static   public   int   instanceCount   =   0;无论在任何类内都只复制一次,而在创建类实例时并不执行!  
  Top

5 楼slayersun(难得一见)回复于 2002-10-28 12:22:33 得分 0

不是,你还是没有明白,在你创建类实例时,static   public   int   instanceCount   已经等于1了,这是因为由构造函数public   InsCount()  
  里的instanceCount++;决定的,就是说你创建几个类,instanceCount的值就是几。  
   
   
  Top

6 楼rbjojo(走鳞(好像是鱼))回复于 2002-10-28 13:29:02 得分 0

可以考虑一下C里面的静态变量  
  一样的道理Top

7 楼ahking(aspire)回复于 2002-10-28 13:34:28 得分 0

static   public   int   instanceCount   =   0不是一句赋值语句么,instanceCount在这里是类的一个字段,实例化该类时,并不执行=0的赋值,不是么???Top

相关问题

  • 实例成员和静态成员的问题
  • 静态成员问题,连接程序出错?
  • 我为我的窗体定义了一个静态成员来实现对实例的计数,但我怎么调用这个类的静态成员啊
  • 无法使用实例引用访问静态成员.....改用类型名来限定它!!! 这是什么啊?
  • 关于静态成员的一个程序,哪位大虾给看看
  • 静态,非静态成员的问题!
  • 如何控制类实例不超过100个???设一静态成员记录成员数?可怎么在第101个时不让继续实例化对象呢?
  • 关于程序实例
  • 高手帮忙!!文档类的构造函数是保护的,它的实例是怎么生成的??是用一个静态成员函数吗?
  • 如何简单的通过 接口来访问 继承该接口的实例的类型上的静态成员?

关键词

  • ic
  • instancecount
  • instcount
  • 实例
  • inscount
  • 赋值
  • 创建
  • writeline
  • console
  • static

得分解答快速导航

  • 帖主:ahking
  • saucer

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo