这就是规定,如果你现在自己做一个新语言的编译器,也可以规定构造函数必须加上void,或者一个特殊的返回值。 那么为什么构造函数没有返回值呢,主要是为了区分构造函数和其它方法。其实,你可以尝试在你的构造函数前加上void,你会发现编译可以通过,但是编译器把它认为是方法,而不是构造函数,当然也无法在new的时候自动调用。
下面有一个例子,你可以测试看看:public class MyPrint { public void MyPrint(){//这是一个方法,如果去掉void就是构造函数
System.out.println("method"); }
public te