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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Uncle.Lee 中级黑马   /  2013-11-22 22:57  /  1301 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Uncle.Lee 于 2013-11-23 11:36 编辑
  1. class Example{
  2.         
  3.         public int exam_1(){
  4.                 exam_2();
  5.         }
  6.         
  7.         public int exam_2(){
  8.                 return 1;
  9.         }
  10. }
复制代码
上面的例子中的exam_1调用了exam_2,exam_2里的有返回值,exam_1应该就不用写返回值了吧?

我看毕老师视频里有类似的调用,并没有写。。

我写程序的时候,eclipse却提醒我写返回值,求解,这样调用到底行不行????

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
FFF + 1 + 3 不写return不行的!必须要有返回值。.

查看全部评分

17 个回复

倒序浏览
int exam_1(){
      
                return exam_2();
     }
上面这样写可以,exam_1方法的返回类型是int,没有返回值你这是要....?

点评

3QQ  发表于 2013-11-23 11:32

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 给新同学的鼓励分,有空常来!.

查看全部评分

回复 使用道具 举报
这里需要的是int类型的返回值,你这里却调了一个方法,你这个方法虽然是返回int类型,但java虚拟机编译的时候,不会运行你这个方法 ,不知道这个方法的结果      

点评

3Q  发表于 2013-11-23 11:32

评分

参与人数 1黑马币 +3 收起 理由
FFF + 3 解释很正确。但没有例子,没有分分~.

查看全部评分

回复 使用道具 举报
楼上两位说的已经很明白了,
其实代码你翻译一下你就懂了
        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的那行。

说的有点绕,但是仔细理解下就是这样

点评

3Q  发表于 2013-11-23 11:33
FFF
感谢你的耐心回答!  发表于 2013-11-23 00:17
回复 使用道具 举报

复制代码

点评

3q  发表于 2013-11-23 11:34
FFF
你的代码呢?迷路了吗???  发表于 2013-11-23 00:17
回复 使用道具 举报
1 exam_2()返回的是INT类型的
2 虽然你 exam1()调用了exam_2()却无返回值

点评

3Q  发表于 2013-11-23 11:33
回复 使用道具 举报
exam1()方法里面必须得写return
你见过毕老师有过类似的调用估计是毕老师exam1方法代码的返回值类型是void,如果是void的话就不用return

点评

3Q  发表于 2013-11-23 11:33
回复 使用道具 举报

咦,昨天写得很详细的说,怎么不见了?不知道,不了解。。。。迷路了。。。

点评

3Q  发表于 2013-11-23 11:34
回复 使用道具 举报
殷婷婷 发表于 2013-11-23 08:59
咦,昨天写得很详细的说,怎么不见了?不知道,不了解。。。。迷路了。。。 ...

:L 貌似真迷路了噢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马