zoukankan      html  css  js  c++  java
  • C#面向对象基础(四) 静态成员与实例成员

    类里的成员有两种归属划分静态的与实例的

    静态成员 -> static声明

    静态的成员,是属于"类"的

    实例的成员,属于"类的实例"的

     1     class Program
     2     {
     3         static int i;  //静态
     4         int j;         //实例
     5         //静态方法
     6         static void Main(string[] args)
     7         {            
     8             Program.StaticMethod();  //注意,是program类的方法
     9             Program p = new Program();
    10             p.InstanceMethod();      //通过实例来调用
    11             Program q = new Program();
    12             q.InstanceMethod();      //通过实例来调用
    13 
    14             Program.i = 1;
    15             p.j = 2;  //  p的j 
    16             q.j = 3;  //  q的j
    17 ;                       
    18         }
    19         //实例的方法
    20         static void StaticMethod()
    21         {
    22             i++;
    23             //j++;   错误,为什么?
    24         }
    25         //实例的方法
    26         void InstanceMethod()
    27         {
    28             i++;
    29             j++;
    30         }
    31     }
    32 }

    注意!  在静态方法中,不能访问实例成员,所以25行的代码不能编译通过? 想想为什么?

    下面举个静态成员的例子.

    需求:想知道程序运行过程中,一共有多少个Animal.

    在Animal类中,加入一个字段,保存Animal的数量

     public class Animal
        {   
    //静态字段  animalCount
            public static int animalCount = 0;
    //以下略
    }

    初始值为0.

    然后呢,在每创造一个动物出来(构造方法)时,让animalCount 增加

     public Animal(string n, int a)
            {
               
    //.....
                animalCount++;
            }
  • 相关阅读:
    GyPSii API PHP应用初探
    无缝滚动图片的一个简单封装
    Linux设置固定IP
    DIV卷帘效果示例
    vsftp安装配置
    PHP判断FORM来的数据是否为整数
    Linux下设置apache开机启动
    从Discuz提取的数据库和模板操作文件,很容易使用哦
    discuz 表情的提取
    IE6、IE7浮动层被下面的动挡住的问题
  • 原文地址:https://www.cnblogs.com/imxh/p/2171365.html
Copyright © 2011-2022 走看看