黑马程序员技术交流社区

标题: 关于构造函数 [打印本页]

作者: 董将    时间: 2012-12-22 10:31
标题: 关于构造函数
本帖最后由 董将 于 2012-12-22 19:46 编辑

构造函数里面有return语句吗?



作者: 张占忠    时间: 2012-12-22 10:46
  构造方法,里是没有返回值的!
构造方法特点:
1  必须与类名相同
2 方法名前面不声明方法类型
3 没有返回类型
4 完成对象的初始化工作
3 可以重载  

如果,我没有说全。其他同学给我补充一下!
作者: 董将    时间: 2012-12-22 10:53
我刚刚写了一个测试代码,发现构造函数里面是有一个隐式的Return语句的,
比如一个学生类啊
public Student(String name,int age){
this.name=name;
this.age=age;
return;
Syso("这是干嘛的呢");
}
运行结果是报错的,输出语句不会执行
去掉输出语句,运行程序没问题,说明构造函数之中是有一个隐式的Return的,那么这个Return起的作用是什么呢?
是不是返回这个对象初始化的值这么个作用呢?
作者: 张占忠    时间: 2012-12-22 11:05
加入return 后不返回任何东西!其实,他是不起任何作用的。也就是说,是垃圾代码!因为,没有返回对象,所以,就不可能有什么返回对象初始化的值。除非,你自己,在JAVA里面,从新把RETURN从新进行编写!总之句话,构造方法里,没有返回值!当我问老师,这种问题时,老师就会说书上这么写的,自己翻书去,当时特郁闷!
作者: 董将    时间: 2012-12-22 17:09
已解决,多谢指点
作者: 王瀛    时间: 2012-12-22 22:39
构造函数
1.函数名与类名一致;
2.不需要定义返回值类型;
3.因为不需要定义返回值类型,所以构造函数中没有return语句;
4.如果没有手动定义构造函数,系统会默认生成一个空参数的构造函数用于对对象进行初始化,默认生成的构造函数为:
   类名{};
5.如果自己手动定义了构造函数,那么原默认的构造函数就没有了;
6.在运行上,构造函数是对象一建立就运行,给对象进行初始化。一般的方法(一般函数)是对象调用执行,用来实现功能;
7.构造函数是一种特殊的函数,所以具备函数的一些性质,如:重载;
8.一个对象建立,构造函数只运行一次;            
9.一个类可以有多个构造函数(函数重载的体现),通过参数的不同来区分;
10.构造函数总是与new一起使用在创建对象的语句中;
.
.
.
. . .to be continue. . .




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