黑马程序员技术交流社区

标题: 小知识点求教 [打印本页]

作者: iloveyou    时间: 2014-4-20 23:05
标题: 小知识点求教
本帖最后由 iloveyou 于 2014-4-21 09:17 编辑

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

作者: luoyang316    时间: 2014-4-20 23:26
构造函数作用是在类初始化的同时初始化一些变量或参数,不需要返回值;
而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);
}
}
作者: 谢振宣    时间: 2014-4-21 01:56
构造函数有其特有的格式,与普通的成员函数不太一样:
1.函数名与类名相同
2.不用定义返回值类型(与普通函数若是没有返回值,就用void修饰,是两回事)
3.不可以写return语句
构造函数的作用是:给新创建的对象进行初始化,
(毕老师的Java基础视频中有专门的讲解)
另外,对于在类名函数前加上void,则这个函数就不再是该类的构造函数
虽然编译和运行时不会报错,但该函数不能够被该类的对象调用,一旦调用就会在编译时报错

作者: 忘川    时间: 2014-4-21 08:16
构造函数没有返回值,这一点同void型的方法有着本质的区别,
void型的方法什么都不返回,但这是你决定的,你也可以让它返回些什么
而构造函数则什么都不返回,而且你别无选择
作者: iloveyou    时间: 2014-4-21 09:24
忘川 发表于 2014-4-21 08:16
构造函数没有返回值,这一点同void型的方法有着本质的区别,
void型的方法什么都不返回,但这是你决定的,你也 ...

构造函数有返回值,返回类的实例,默认不用写。谢谢你的回答
作者: 蔡先苼    时间: 2014-5-5 22:35
构造函数是没有返回值的,而虽然void类型的函数没有返回值,但是可以让它返回一些东西,它和构造函数有本质的区别。。。




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