黑马程序员技术交流社区

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

作者: 张龙跃    时间: 2013-4-29 00:36
标题: 构造函数的问题
本帖最后由 张龙跃 于 2013-4-29 00:54 编辑

构造函数
特点:  函数名与类名相同
        不用定义返回值类型
        不可以写return语句



class haha
{
                 haha ()
     {
              System.out.println("wohaha");
    }

}

我想知道的是为什么haha () 前面不加public或者private 不用声明是公共还是私有吗?
既然不可以写return语句  为什么后面还有     {
              System.out.println("wohaha");
    }
这不算return语句吗

作者: smallsea    时间: 2013-4-29 00:44
class haha
{
     protected haha ()
     {
              System.out.println("wohaha");
    }

}
在java中,当你不写范围时,他默认是protected,protected这个范围比private的权限大,比public的权限小,System.out.println("wohaha");
这一句是输出,不是返回;
构造函数是没有返回类型的,所以当你在构造函数中写return是,会直接报红.
作者: 张龙跃    时间: 2013-4-29 00:54
明白了,还没有看到protected 这毕老师事先也不说说啊
作者: smallsea    时间: 2013-4-29 00:59
张龙跃 发表于 2013-4-29 00:54
明白了,还没有看到protected 这毕老师事先也不说说啊

呵呵,你多去了解一下吧!
作者: 邵彩华    时间: 2013-4-29 01:01
1楼说完了,我再补充一点儿……
当不写构造函数时,系统默认给添加的构造函数修饰符是public,自己写的如果省略修饰符则默认是default.




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