黑马程序员技术交流社区

标题: 有关方法的问题? [打印本页]

作者: qly2046    时间: 2014-1-4 17:43
标题: 有关方法的问题?
本帖最后由 qly2046 于 2014-1-5 18:06 编辑




今天重新看有关方法的视频教程,请问它们之间的区别?言简意赅!谢谢

1、public  static  string  Eat();

2、public    void    Read();

3、public   static   void   Test();


作者: 一切都好    时间: 2014-1-4 18:02
1、返回字符串的静态方法 2、无返回值的非静态方法 3、无返回值的静态方法。
有无返回值就是执行了这个方法后是否会反馈一个结果
静态方法不需要实例化就能直接用类名调用,非静态方法同过对象调用
作者: qly2046    时间: 2014-1-4 18:08
一切都好 发表于 2014-1-4 18:02
1、返回字符串的静态方法 2、无返回值的非静态方法 3、无返回值的静态方法。
有无返回值就是执行了这个方法 ...

那图片上内容你作何解释?
作者: 涵风    时间: 2014-1-4 18:32
static代表使用的时静态方法,方法可以直接写Eat()节能使用, 没有static的时动态方法,需要实例化才能使用。
作者: 七录斋    时间: 2014-1-4 19:14
static是函数连接方式的关键字,加上static是表明该函数是静态方法,跟它是否有返回值无关,而void是函数返回值类型的关键字,跟函数是否为静态方法也无关,所以两者无联系;
void放在函数名前是表明函数无返回值,不是说该函数不可以有参数传入,void放在函数的小括号里是表明函数无参,才不可以有参数传入。

个人拙见,仅供参考,如有错误,还望赐教。
作者: 一切都好    时间: 2014-1-4 19:37
qly2046 发表于 2014-1-4 18:08
那图片上内容你作何解释?

个人认为:有没有返回值(void)和是不是静态的(static),完全是两个概念,静态方法只是规定了调用它的方式,并没有规定它能不能有返回值。没有返回值的方法可以传参,这个就像不下蛋的鸡也可以吃东西一样,并不是所有的鸡给它东西吃它就下蛋。
作者: 小呆    时间: 2014-1-4 19:47
{:soso_e179:}
作者: lei130102    时间: 2014-1-5 07:41
有没有返回值(void)和是不是静态的(static)没有联系,他们是两个概念。
作者: 王子斌    时间: 2014-1-5 11:02
static是表示静态,限制他的调用方式,而void表示没有返回值,这两个没什么相关性吧
作者: ztwztw    时间: 2014-1-5 11:03
静态和返回值类型是两个概念。返回值类型是说这个方法的return是什么类型,或者没有返回值类型,静态是修饰方法的,如果是静态方法,可以直接调用类名.方法名。不用建立实例对象
作者: 疯狂的土贼    时间: 2014-1-5 12:29
针对你的问题:

1、public  static  string  Eat();
返回字符串的静态方法  ,这个static是静态 string是字符串这个相信你知道,它们并不冲
2、public    void    Read();
无返回值的非静态方法  

3、public   static   void   Test();
这个void是返回值不确定的情况下使用,也就是说不确定返回值类型是什么
静态方法不需要实例化就能直接用类名调用,非静态方法使用对象调用,注意下这个就可以

作者: 曹春洋    时间: 2014-1-5 14:41
方法中有static修饰,说明死静态的方法,他属于类本身,void表示该方法没有返回值,即是控制,所以用void主要区别就是这样的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2