博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#面向对象基础(四) 静态成员与实例成员
阅读量:5157 次
发布时间:2019-06-13

本文共 947 字,大约阅读时间需要 3 分钟。

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

静态成员 -> 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
++
;
        }

 

转载于:https://www.cnblogs.com/imxh/archive/2011/09/08/2171365.html

你可能感兴趣的文章
delphi的哪个版本支持"for...in..."?
查看>>
Hello,world!
查看>>
浅谈HTTP中Get与Post的区别
查看>>
机器学习索引贴(未分类)
查看>>
【计算机算法设计与分析】——NP
查看>>
django 取model字段的verbose_name值
查看>>
Django 玩转API
查看>>
mysql 常用配置
查看>>
递归算法
查看>>
http://kb.cnblogs.com/a/1540021/ 赋值
查看>>
4、python内置类型(0529)
查看>>
阻止默认滚轮事件
查看>>
java-小组项目-需求视频
查看>>
R语言之简单回归分析
查看>>
年中团建之军训-回顾
查看>>
BZOJ3598 SCOI2014方伯伯的商场之旅(数位dp)
查看>>
显示器
查看>>
对文件 I/O,标准 I/O 的缓冲的理解
查看>>
Qt——绘图
查看>>
gbk,utf-8,unicode编码,单位换算
查看>>