黑马程序员技术交流社区

标题: 空语句与空方法体 [打印本页]

作者: 黑马龙超    时间: 2012-6-8 14:15
标题: 空语句与空方法体
public static void Function(){}
public static void Function();
if(i>=0){}
if(i>=0);
有什么不同?


作者: 朱亮辉    时间: 2012-6-8 14:18
没有什么不同的啊,只是写法不一样而已!
作者: G_Xiaotao    时间: 2012-6-8 17:53
我也是觉得没有什么不同!
作者: 冯奎智    时间: 2012-6-9 10:58
public static void Function(); 是函数声明,未定义
public static void Function(){}是函数定义,如果没有定义只是声明的话,是不能调用该函数的
至于
if(i>=0){}

if(i>=0);
在效果上并没有区别,但是具体编译器中是如何设定,就不了解了


作者: 刘豪    时间: 2012-6-9 15:18
public static void Function(){}--->这里是定义了方法,只是方法体是空的,什么也不做,但你却能掉用它。



public static void Function();--->这里是声明了一个方法,告诉编译器有这么一个方法,但是直到你完整的定义(给出函数标签和函数体)它后才能使用



if(i>=0){}这里有个复合语句{},只是复合语句里面是空的,什么也不做



if(i>=0);这里是个空语句,什么也没有,只是相当于非常短暂的等待,消耗时间而已,跟上面的语句是一样的效果,但是这里的执行效率比上面高,只是不明显,几乎没差别。


作者: 聂玉林    时间: 2012-6-9 15:28
基本没什么区别,就是形式不一样,还有执行的效率不一样,其结果是一样的
作者: 牛景亮    时间: 2012-6-9 23:21
没什么不同,一样的
作者: 孙玉昌    时间: 2012-6-12 08:59
public static void Function(){}--->这里是定义了一个空的方法体,可以正常调用这个方法;
public static void Function();--->这里是声明了一个方法,但是没有定义,也就不能正常调用;
if(i>=0){}这里是个空的复合语句{};

if(i>=0);这里是个空语句,后面没有内容,两者效果一样。




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