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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大大老伴要跪IT 中级黑马   /  2014-1-13 22:20  /  1411 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造函数中能不能使用return语句?求详细解答!

4 个回复

倒序浏览
本帖最后由 xu6148152 于 2014-1-13 22:29 编辑

不行。构造函数仅仅只是对类的属性进行初始化。
函数要有返回值类型才能使用return语句。而构造函数是特殊的函数,没有任何返回值类型。
但是其实C++的构造函数石油返回值类型的,返回值类型就是本类类型。如赋值构造函数。
回复 使用道具 举报
是可以的用的,其实构造函数也是一个函数(方法)
return; 一个功能是发挥数据,还有一个功能是 结束当前函数。
在比老师的视频中,有几级都是在将, 其实每个方法最后面都省略了 return; 代表方法体结束,看下面的代码
  1. public class Test {
  2. public static void main(String[] args) {
  3. Single s = new Single();
  4. s.show();
  5. }
  6. }

  7. class Single {
  8. int s = 3;
  9. Single(){
  10. System.out.println("构造函数");
  11. return;
  12. }
  13. public void show(){
  14. System.out.println("可以使用" + s);
  15. return;
  16. }
  17. }
复制代码




回复 使用道具 举报
因为构造函数中不能有返回值呀。
回复 使用道具 举报
可以的。。
如果构造函数里需要一些逻辑处理,可以使用return语句。
使用return 不一定要返回值。
我这里举个例子:
public class Return {
        int x=0;
        Return(int x){
               
                if(x>10)
                        return;
                else {
                        this.x=x;
                }
               
        }
       
    public static void main(String[] args) {
            Return r1 = new Return(12);
            System.out.println("r1---"+r1.x);
           
            Return r2 = new Return(9);
            System.out.println("r2---"+r2.x);
    }
}
输出结果:
r1---0
r2---9
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马