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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wisely 中级黑马   /  2014-7-19 22:05  /  1452 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

普通方法中都有返回值类型,其中有一种是void类型,它也是一种返回值类型,代表没有具体返回值。即便方法内部不写return语句,那么编译器(还是其它?)也会自动加上。

今天看毕老师关于构造方法的视频(第5天-08),其中提过构造方法连void都没有,自然不需要return语句,【连系统都不会自动添加】,于是我在网络上搜过了一阵,发现有不同的意见。于是自己做了验证,上代码。
  1. class Person{
  2.         int age=10;
  3.         Person(){
  4.                 System.out.println("aaa");
  5.         }
  6.         void speak(){
  7.                 System.out.println("age="+age);
  8.         }
  9. }
复制代码

下面是反编译后的截图,可以看出,不管是无void的构造函数,还是有void的普通方法,反编译后都有return这个词,第一次用反编译,不太懂。有人能帮忙解释一下么?


void与return.png (75.99 KB, 下载次数: 3)

反编译

反编译

7 个回复

倒序浏览
不懂帮顶
回复 使用道具 举报
好囧,发现一个貌似有点雷同的帖子,不过还是希望大牛们能够帮忙看一下这个帖子,我的疑惑跟另一帖还是不太一样。
另附另一帖的地址:http://bbs.itheima.com/thread-130947-1-1.html
回复 使用道具 举报
路过踩踩。。。
回复 使用道具 举报
return是默认加的,你不写,编译的时候会自己加上的
回复 使用道具 举报
小乖乖灬浩歌 来自手机 中级黑马 2014-7-19 23:56:35
地板
都有return的  编译器会加
回复 使用道具 举报
学习         学习
回复 使用道具 举报
苗润 中级黑马 2014-7-20 00:05:19
8#
学习了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马