为什么 Java 不支持默认参数

本文关键字:参数 默认 不支持 Java 为什么 | 更新日期: 2023-09-27 18:35:17

为什么 Java 语言不支持默认参数?

例如,在另一个具有 2 个、1 和 0 参数的类型构造函数中调用具有 3 个参数的构造函数,我们必须手动传递所有参数!它们(参数)不像其他语言那样是可选的(为每个少于 3 个参数的构造函数自动设置默认参数),为什么?

在 C# 代码中如下所示:

static void Method(int value = 1, string name = "Perl")

如果我们能做得更好,那么:

Test(String name,int code,int age)
{
     setTest(name,code,age);
} 
Test(String name,int code)
{
     this(name,code,0);
}
Test(String name)
{
     this(name,0,0);
}

所以,我们也可以使用最终关键字,我知道!如果不支持默认参数,还有什么更好还是没有?

为什么 Java 不支持默认参数

为了处理对象创建,您可以使用构建器设计模式作为这篇文章的建议。这样,您可以为某些字段设置默认值。

没有比这更好的了,对不起。 如果你真的想知道为什么Java不支持默认参数,你可能应该问Oracle。 或者更好的是,提出将其添加到下一个版本的 Java 中。

这很可能与设计决策有关。Java 设计人员可能已经感觉到 C/C++ 中允许的默认参数可能会导致细微的错误。在语言的许多领域,他们做了这样的事情,他们强迫开发人员在他们的代码中明确以减少此类问题。