我是Java的新手,我一直在问自己,你是否真的可以声明一个类似构造函数的方法(没有返回类型,void
)或者这就是为什么它们被称为构造函数?
答案 0 :(得分:2)
构造函数用于构建对象,它不是方法。
方法需要一个返回类型,因为它们从现有对象返回一些东西(即使返回类型为void),但构造函数用于构建对象,因此它不需要任何返回类型,因为该对象不存在时它叫做。
答案 1 :(得分:1)
Java具有严格的语法,也适用于Method Declarations和Constructor Declarations。
方法的语法总是需要返回类型或void。 并且构造函数仅在与类具有相同名称时才有效。
所以对你的例子来说:
class Dog {
public Dog() { // constructor for the class Dog
}
public void Dog() { // method with the name Dog
}
public void method() { // method with the name method
}
// invalid code
// causes an error because the return type for the method is missing
// and isn't a constructor because it hasn't the same name as the class.
public method() {
}
}