关闭

C# 静态方法

297人阅读 评论(0) 收藏 举报

静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例。非静态方法可以访问类中的任何成员,而静态只能访问类中的静态成员。看这个例子:

class A
{
int x;
static int y;
static int F(){
x=1; //错误,不允许访问
y=2; //正确,允许访问
}

在这个类定义中,静态方法F()可以访问类中静态成员y,但不能访问非静态成员x。这是因为,x作为非静态成员,在类的每个实例中都占有一个存储(或者说具有一个副本),而静态方法是类所共享的,它无法判断出当前的x是属于哪个类的实例,所以不知道应该到内存的哪个地址去读取当前x的值。而y是静态成员,所有类的实例都公用一个副本,静态方法F使用它就不存在什么问题。摘录(www.bianceng.cn)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:439461次
    • 积分:5051
    • 等级:
    • 排名:第5552名
    • 原创:30篇
    • 转载:490篇
    • 译文:0篇
    • 评论:14条
    文章分类
    最新评论