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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓泉 中级黑马   /  2013-3-13 12:57  /  2343 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李晓泉 于 2013-3-13 13:00 编辑

void和static的用法有什么不同?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

7 个回复

倒序浏览
void跟static没有关系
void表示有没有返回值!没有的话就加void有的话就用相应类型替换
static表示静态的,没有static修饰就表示非静态的

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
void是一种返回值类型,表示无返回值。
    public void SayHi()   { console.writeline("你好");}
static是一种修饰符,表示静态的,可用于字段、方法、类、属性、构造函数等。
    public static void SayHi()   { console.writeline("你好");}
使用static时需注意:
    1.调用静态方法的时候必须通过类名直接来调用,不能通过对象来调用,也就是说使用静态成员不需要实例化对象。
      类名.方法名()
    2.静态成员会在整个应用程序退出时,才释放资源,所以可以在整个应用程序中共享数据。
    3.静态类不能被实例化,不能被继承。
    4.由于静态成员会在整个程序退出时,才释放资源,所以尽量避免写静态字段或静态属性,最好只写静态方法。
    5.当给一个普通类添加静态字段后,系统会默认为该类生成一个静态构造函数[静态构造函数不能有访问修饰符、并且也不能带参数]
         static MyStaticClass()
回复 使用道具 举报
void是方法的一种返回值类型,表示无返回值。
    public void SayHi() {Console.WriteLLIne("你好"); }
static是静态的修饰符,可修饰类、方法、属性、字段、构造函数等。
    public static void SayHi() {Console.WriteLLIne("你好"); }
使用static时应注意:
    1.调用静态方法的时候必须通过类名直接来调用,不能通过对象来调用,也就是说使用静态成员不需要实例化对象。
        类名.方法名();
    2.静态成员会在整个应用程序退出时,才释放资源,所以可以在整个应用程序中共享数据。
    3.静态类不能被实例化,不能被继承。
    4.由于静态成员会在整个程序退出时,才释放资源,所以尽量避免写静态字段或静态属性,最好只写静态方法。
    5.当给一个普通类添加静态字段后,系统会默认为该类生成一个静态构造函数[静态构造函数不能有访问修饰符、并且也不能带参数]
        static MyStaticClass();
回复 使用道具 举报
void是方法的一种返回值类型,表示无返回值。
    public void SayHi() {Console.WriteLLIne("你好"); }
static是静态的修饰符,可修饰类、方法、属性、字段、构造函数等。
    public static void SayHi() {Console.WriteLLIne("你好"); }
使用static时应注意:
    1.调用静态方法的时候必须通过类名直接来调用,不能通过对象来调用,也就是说使用静态成员不需要实例化对象。
        类名.方法名();
    2.静态成员会在整个应用程序退出时,才释放资源,所以可以在整个应用程序中共享数据。
    3.静态类不能被实例化,不能被继承。
    4.由于静态成员会在整个程序退出时,才释放资源,所以尽量避免写静态字段或静态属性,最好只写静态方法。
    5.当给一个普通类添加静态字段后,系统会默认为该类生成一个静态构造函数[静态构造函数不能有访问修饰符、并且也不能带参数]
        static MyStaticClass();
回复 使用道具 举报
void 的方法没有返回值。 static 修饰符声明属于类型本身而不是属于特定对象的静态成员  也就是说直接用类名就能访问它。一个类新建有N个  对象,这N 个对象共享同一个static的方法

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
void 是表示方法没有返回值。  string int double 等表示相应返回类型。
static 是表示静态类型。
静态类中只能存在静态成员,不允许出现实例成员。
但是我们非静态类中可以有静态成员,也可以有非静态成员,
但是,静态成员访问不到实例成员。
非静态类中的非静态成员可以访问到静态成员。

经常把静态类当作工具类
我们最常用的当然是
Console.WriteLint()

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
熊薇 中级黑马 2013-3-14 15:06:21
8#
void是方法的返回值类型,表示此方法没有返回值;如果方法有返回值,那么就用返回值的类型替换void
而有static表示是静态的,没有则为非静态的
void和static没有关系
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马