A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王靖雯 于 2012-12-24 19:39 编辑

加static与不加static的区别是什么?为什么?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

8 个回复

倒序浏览
加static的为静态字段或者静态方法。静态字段和方法为类所共有,同时静态方法只能访问静态字段和方法。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
加了static就说明是一个静态变量,这个变量只在类第一次被装载是被装载一次,以后所有变量都共享改变量。这样通过static 可以实现在所有的一类对象中实现共享变量的方法,只要有任何 一个对象对该值修改别的变量也能的到修改得值。而一般的类变量职能在一个对象的内部共享。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
前者是类的,以类名来引用;后者是实例对象的,以对象名来引用!!!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
加static可以不用实例化,直接调用,静态类中的成员必须全是静态的成员。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
写代码说明吧:
Class Person
{
    static void SayHello()
           {  Console,WriteLine("hello!"); }
     void SayNo()
            {Console.WriteLine("no!");}
}
Pesson.SayHello();
Person person=new Person();
person.SayNo();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
static 为类的成员,不加则为类的对象的成员。
static 成员直接可以通过类名来调用,但类实例不能调用。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
管冉 中级黑马 2012-12-24 18:34:59
8#
加了static后,只有本文件内才能访问该变量。不加,则所有文件都可以访问该变量

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
管冉 中级黑马 2012-12-24 18:36:48
9#
苏坤老师《C#面向对象基础》视频2里有详细解说
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马