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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 客剑 于 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;
       }
     .....
}

5 个回复

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

然后,要知道构造函数和一般函数的区别:
   运行时不同。构造函数是对象一建立时就运行,同一对象只会运行一次;一般函数是对象调用的时候才运行,同一对象可以调用无数次。
回复 使用道具 举报
构造函数是给对象初始化的!生成一个对象,你能把一个值赋值给你的对象。数据类型不同呀!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马