构造函数名称和类名在Java中是相同的.为什么?

Ash*_*hut 3 java

请给我一个命名一个具有相同名称的构造函数的逻辑答案.为什么我们不能为构造函数选择除类名之外的其他名称?

class Temp
{
   Temp()
   {

   }
};
Run Code Online (Sandbox Code Playgroud)

Vin*_*arg 7

与类名相同的构造函数名称只是一种约定.也是一个逻辑 - 考虑对象也可以像这样构造

Temp t = Temp();
Run Code Online (Sandbox Code Playgroud)

它可能已被调用,constructor()但如果您只查看片段,您将不知道它构建的是什么?


fre*_*low 7

因为此语法不需要任何新关键字.除此之外,没有充分的理由.

为了最大限度地减少新关键字的数量,我没有使用这样的显式语法:

class X {
    constructor();
    destructor();
}
Run Code Online (Sandbox Code Playgroud)

相反,我选择了一个声明语法来反映构造函数的使用.

class X {
    X();
    ~X();
Run Code Online (Sandbox Code Playgroud)

这可能过于聪明了.[C++的设计和演变,3.11.2构造函数表示法]