声明一个类似构造函数的方法

时间:2018-01-11 12:01:14

标签: java

我是Java的新手,我一直在问自己,你是否真的可以声明一个类似构造函数的方法(没有返回类型,void)或者这就是为什么它们被称为构造函数?

2 个答案:

答案 0 :(得分:2)

构造函数用于构建对象,它不是方法。

方法需要一个返回类型,因为它们从现有对象返回一些东西(即使返回类型为void),但构造函数用于构建对象,因此它不需要任何返回类型,因为该对象不存在时它叫做。

答案 1 :(得分:1)

Java具有严格的语法,也适用于Method DeclarationsConstructor 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() {
    }
}