黑马程序员技术交流社区
标题:
小问题一个,却让我还能疑惑,求解
[打印本页]
作者:
Uncle.Lee
时间:
2013-11-22 22:57
标题:
小问题一个,却让我还能疑惑,求解
本帖最后由 Uncle.Lee 于 2013-11-23 11:36 编辑
class Example{
public int exam_1(){
exam_2();
}
public int exam_2(){
return 1;
}
}
复制代码
上面的例子中的exam_1调用了exam_2,exam_2里的有返回值,exam_1应该就不用写返回值了吧?
我看毕老师视频里有类似的调用,并没有写。。
我写程序的时候,eclipse却提醒我写返回值,求解,这样调用到底行不行????
作者:
姚宏
时间:
2013-11-22 23:09
int exam_1(){
return exam_2();
}
上面这样写可以,exam_1方法的返回类型是int,没有返回值你这是要....?
作者:
Misaeじ
时间:
2013-11-22 23:19
这里需要的是int类型的返回值,你这里却调了一个方法,你这个方法虽然是返回int类型,但java虚拟机编译的时候,不会运行你这个方法 ,不知道这个方法的结果
作者:
ysunday
时间:
2013-11-22 23:38
楼上两位说的已经很明白了,
其实代码你翻译一下你就懂了
public int exam_1(){
exam_2();
}
这个代码的exam_2();这个翻译过来就是return到你调用这个函数的那一行一个1,那么你这个函数翻译过来就是这样
public int exam_1(){
1;
}
你的函数声明了有个 int返回值,当然对应的就有个return语句,而你exam_2里边那个return 1是说返回到exam_1中的1的那一行一个1.并不是代表你的 return 1;这句话添加到 exam_1的1的那行。
说的有点绕,但是仔细理解下就是这样
作者:
殷婷婷
时间:
2013-11-22 23:43
复制代码
作者:
che201311
时间:
2013-11-22 23:53
1 exam_2()返回的是INT类型的
2 虽然你 exam1()调用了exam_2()却无返回值
作者:
樊志伟
时间:
2013-11-23 02:41
exam1()方法里面必须得写return
你见过毕老师有过类似的调用估计是毕老师exam1方法代码的返回值类型是void,如果是void的话就不用return
作者:
殷婷婷
时间:
2013-11-23 08:59
殷婷婷 发表于 2013-11-22 23:43
咦,昨天写得很详细的说,怎么不见了?不知道,不了解。。。。迷路了。。。
作者:
Uncle.Lee
时间:
2013-11-23 11:30
殷婷婷 发表于 2013-11-23 08:59
咦,昨天写得很详细的说,怎么不见了?不知道,不了解。。。。迷路了。。。 ...
:L 貌似真迷路了噢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2