我正在阅读别人的代码并被这个片段弄糊涂了:public static Builder Builder() { return new Builder(); }这是构造函数吗?构造函数通常没有“返回”语句。常规方法不使用大写的“Builder()”。我很困惑。
3 回答
DIEA
TA贡献1820条经验 获得超2个赞
区分构造函数和方法的关键特征是返回类型。所以
/* optional modifiers */ Builder()
是一个构造1对Builder
,但
/* optional modifiers */ Builder Builder()
是一个名为的方法Builder
,它返回一个Builder
对象。这也是一种严重的风格违规,因为 Java 方法应该以小写字母开头。除此之外,这使人类更容易区分方法和构造函数!(虽然编译器不在乎...)
还有其他的故事。一些修饰符允许用于方法,但不允许用于构造函数。以static
修饰符为例。
简而言之,您的示例是方法2。
1 - 请注意,构造函数名称必须与封闭类名称匹配。但是如果你弄错了,编译器仍然会在编译错误中将其称为构造函数...。
2 - 我们可以进一步将其归类为静态工厂方法。但是,这是一种设计分类,与 Java 语言本身无关。
添加回答
举报
0/150
提交
取消