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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© iloveyou 中级黑马   /  2014-4-20 23:05  /  1484 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 iloveyou 于 2014-4-21 09:17 编辑

既然构造函数没有返回值,那么为什么不用void来修饰呢?编译貌似不会错

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 神马都是浮云

查看全部评分

5 个回复

倒序浏览
构造函数作用是在类初始化的同时初始化一些变量或参数,不需要返回值;
而void指的是方法,当一个方法只是完成某种功能计算时并不需要返回值。

比如说
class A{

int a;
int b;
//构造函数
public A(int a,int b){
    this.a = a;
    this.b = b;
}
//void 方法,只是完成计算
void plus(){
    System.out.println(a+b);
}
}
回复 使用道具 举报
构造函数有其特有的格式,与普通的成员函数不太一样:
1.函数名与类名相同
2.不用定义返回值类型(与普通函数若是没有返回值,就用void修饰,是两回事)
3.不可以写return语句
构造函数的作用是:给新创建的对象进行初始化,
(毕老师的Java基础视频中有专门的讲解)
另外,对于在类名函数前加上void,则这个函数就不再是该类的构造函数
虽然编译和运行时不会报错,但该函数不能够被该类的对象调用,一旦调用就会在编译时报错

评分

参与人数 1黑马币 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

回复 使用道具 举报 1 0
构造函数没有返回值,这一点同void型的方法有着本质的区别,
void型的方法什么都不返回,但这是你决定的,你也可以让它返回些什么
而构造函数则什么都不返回,而且你别无选择
回复 使用道具 举报
忘川 发表于 2014-4-21 08:16
构造函数没有返回值,这一点同void型的方法有着本质的区别,
void型的方法什么都不返回,但这是你决定的,你也 ...

构造函数有返回值,返回类的实例,默认不用写。谢谢你的回答
回复 使用道具 举报
构造函数是没有返回值的,而虽然void类型的函数没有返回值,但是可以让它返回一些东西,它和构造函数有本质的区别。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马