分享

静态方法只能访问类中的静态成员

 lhzstudio 2012-05-12

class A

{

int x;

static int y;

static int F()

{

x = 1;   //错误 不允许访问

y = 2   //正确 允许访问

}

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

是不是静态方法就无法识别类的实例了呢?不是,在C#中,我们可以灵活地采用传递参数的办法以一个类的实例做参数。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多