黑马程序员技术交流社区

标题: 构造函数问题???? [打印本页]

作者: 大大老伴要跪IT    时间: 2014-1-13 22:20
标题: 构造函数问题????
构造函数中能不能使用return语句?求详细解答!
作者: xu6148152    时间: 2014-1-13 22:26
本帖最后由 xu6148152 于 2014-1-13 22:29 编辑

不行。构造函数仅仅只是对类的属性进行初始化。
函数要有返回值类型才能使用return语句。而构造函数是特殊的函数,没有任何返回值类型。
但是其实C++的构造函数石油返回值类型的,返回值类型就是本类类型。如赋值构造函数。

作者: app297    时间: 2014-1-13 22:37
是可以的用的,其实构造函数也是一个函数(方法)
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. }
复制代码





作者: november    时间: 2014-1-13 22:37
因为构造函数中不能有返回值呀。
作者: 淡夜清风    时间: 2014-1-13 22:42
可以的。。
如果构造函数里需要一些逻辑处理,可以使用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




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