gpt4 book ai didi

java - Java支持默认参数值吗?

转载 作者:行者123 更新时间:2023-12-01 17:53:34 30 4
gpt4 key购买 nike

我遇到了一些具有以下结构的 Java 代码:

public MyParameterizedFunction(String param1, int param2)
{
this(param1, param2, false);
}

public MyParameterizedFunction(String param1, int param2, boolean param3)
{
//use all three parameters here
}

我知道在 C++ 中我可以为参数分配默认值。例如:

void MyParameterizedFunction(String param1, int param2, bool param3=false);

Java支持这种语法吗?有什么理由可以解释为什么这种两步语法更可取吗?

最佳答案

不,您找到的结构是 Java 处理它的方式(即使用重载而不是默认参数)。

对于构造函数, See Effective Java: Programming Language Guide's 第 1 项提示(考虑静态工厂方法而不是构造函数)

如果重载变得复杂。对于其他方法,重命名某些案例或使用参数对象可能会有所帮助。

当你的复杂性足够高时,区分就变得很困难。一个明确的情况是,您必须使用参数的顺序来区分,而不仅仅是数字和类型。

关于java - Java支持默认参数值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60756857/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com