黑马程序员技术交流社区

标题: 构造函数为什么不需要在前面加返回值类型void ? [打印本页]

作者: 客剑    时间: 2014-6-19 22:53
标题: 构造函数为什么不需要在前面加返回值类型void ?
本帖最后由 客剑 于 2014-6-19 22:55 编辑

如:
class person
{
      private String name;
      private int age;
     /*  void  */person(String name,int age)//为什么不要加返回值类型void?
      {
               this.name = name;
               this.age = age;
       }
     .....
}

作者: 倪大大    时间: 2014-6-19 22:55
这就是java语法的一个规定, 区别于其他函数吧,  你也可以在前面加一个void  是可以编译通过的,但是
这个方法就不是构造方法了 而是类中一个普通的方法
作者: cat73    时间: 2014-6-20 00:22
构造函数是返回本类对象的吧...
作者: 姿_`态    时间: 2014-6-20 13:49
尽管void是空,但是他也是返回值,构造函数是给对象初始化的,他没有返回值,况且你给他返回值,他又往哪返呐。
作者: ⋛⋌⋚JEEP    时间: 2014-6-24 11:58
首先,你得理解清楚什么是构造函数。
构造函数:
1、函数名跟类名必须是一致,与普通的函数写法有很大区别。
2、不需要返回值类型,这是构造函数的特点之一。
3、对象一建立,就会立即调用与之对应的构造函数。
4、构造函数的作用:就是用于给对象初始化(可以理解成对象存在就具有的属性或者功能)。
5、自定义构造函数,系统就不会默认帮你建立空参数的构造函数了。
6、没有自定义构造函数,对象的初始化方式就是系统默认建立的空参数构造函数。

然后,要知道构造函数和一般函数的区别:
   运行时不同。构造函数是对象一建立时就运行,同一对象只会运行一次;一般函数是对象调用的时候才运行,同一对象可以调用无数次。

作者: sun_jun    时间: 2014-6-24 21:26
构造函数是给对象初始化的!生成一个对象,你能把一个值赋值给你的对象。数据类型不同呀!




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