Java中创建对象的方法就是使new 关键字调用构造函数来创建对象(另一个创建对象的方法是clone()函数,他的返回值为Object),所以可以理解为构造函数的返回值是一个对象。
返回值类型为void才是真正的无返回值函数。
构造函数是使用new关键字来调用的。
其它函数是用对象名或类名加.的方式来调用的。
构造函数作用是在类初始化的同时初始化一些变量或参数,不需要返回值;
而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);
}
}
那么为什么构造函数没有返回值呢,主要是为了区分构造函数和其它方法。其实,你可以尝试在你的构造函数前加上void,你会发现编译可以通过,但是编译器把它认为是方法,而不是构造函数,当然也无法在new的时候自动调用。
下面有一个例子,你可以测试看看:
public class MyPrint {
public void MyPrint(){ //这是一个方法,如果去掉void就是构造函数
System.out.println("method");
}
public test(){ //提示错误,方法声明错误,必须加上返回值
}
public static void main(String[] args){
MyPrint mp=new MyPrint(); //构造函数自动调用
mp.MyPrint(); //方法必须显示调用
}
} |