为什么允许以下内容:
public class Foo {
public Foo() { ... }
public void Foo() { ... }
}
是否有正当理由将方法命名为与类相同?
最佳答案
我的猜测是它是允许的,因为明确禁止它会给 Java 的标识符命名规则增加另一个要求,而 yield 却很小。与 C++ 不同,Java 总是要求使用 new
关键字调用构造函数,因此对于标识符是指方法还是构造函数从来没有任何歧义。我确实同意与父类同名的方法乍一看会让人很困惑,几乎可以肯定地避免使用它。也就是说,我很高兴他们选择不通过禁止此类方法使语言进一步复杂化。
关于java - 与构造函数同名的方法 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401444/