Java支持默认参数值吗?

2023-11-30

我遇到过一些具有以下结构的 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 处理它的方式(即使用重载而不是默认参数)。

对于建设者来说,请参阅《Effective Java:编程语言指南》第 1 项提示(考虑静态工厂方法而不是构造函数)

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java支持默认参数值吗? 的相关文章

  • Java 9 中可以使用提前编译吗?

    As per JEP 295 http openjdk java net jeps 295 任何 JDK 模块 类或用户代码的 AOT 编译都是实验性的 JDK 9 中不支持 要使用 AOT 化的 java base 模块 用户必须编译该模
  • 隐藏类的 System.out.print 调用

    我正在使用 java 库 jar 文件 该文件的作者放入了一堆System out print and System out printlns 有没有办法隐藏特定对象的这些消息 编辑 看起来jar文件似乎正在创建一堆线程 并且每个线程都有它
  • 获取TextView的高度

    我有一些文字将被放入TextView 我这样做是使用setText 现在我需要找到文本在文本中占据的行数或高度TextView 我尝试使用getHeight 但它总是返回 0 无论如何 有没有办法获得文本中存在的文本的高度TextView
  • DateTimeFormatter.parseLocalDate 抛出 UnsupportedOperationException

    该API用于解析本地日期 http joda time sourceforge net apidocs org joda time format DateTimeFormatter html parseLocalDate 28java la
  • Jodatime 日期格式

    是否可以格式化 JodaTime 日期 这是代码 private static LocalDate priorDay LocalDate date1 do date1 date1 plusDays 1 while date1 getDayO
  • Spring 术语中命令、表单、业务和实体对象之间的区别?

    我试图理解这些对象在松散耦合系统方面的差异 业务对象与实体对象相同吗 我可以使用 MVC 中的业务或实体对象作为我的命令对象吗 命令对象与表单对象相同吗 只是寻找 Spring 术语和用法中对象类型的说明 我在 stackoverflow
  • 将 EditText 聚焦在设备上运行的 PopupWindow 中时出现异常

    我正在为 Android 开发一个弹出窗口 它正在工作 我在上面添加了一个 EditText 和一个按钮 当在 ADV 上运行时 它可以正常工作 而在设备上运行时 当我专注于 EditText 时 这会抛出一个奇怪的异常 android v
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • 驱动程序信息:driver.version:未知,使用 ChromeDriver v78.0.3904.70 和 Chrome 浏览器 v78.0.3904.97

    我使用的是java 1 8和chrome浏览器版本78 0 3904 97 我正在尝试使用 chrome 驱动程序版本执行我的 selenium 脚本代码78 0 3904 70 但在执行时我面临以下问题并且 chrome 立即崩溃 Pic
  • java.lang.IllegalArgumentException:addChild:子名称“/”不唯一

    java lang IllegalArgumentException addChild 子名称 不唯一 通过在 tomcat webapps 文件夹中启用和禁用 saml 单点登录来替换现有 war 文件时遇到此问题 我正在使用 apach
  • Java中无参数的for循环

    我在看别人的代码 发现了这段代码 for 我不是 Java 专家 这行代码在做什么 起初 我认为这会创建一个无限循环 但在该程序员使用的同一个类中 while true 其中 如果我错了 请纠正我 是一个无限循环 这两个相同吗 为什么有人会
  • 如何告诉 cxf 将包装类型保留在方法中?

    在我的 WSDL 中我有一个操作
  • Java .split("|") 不工作

    我刚刚遇到了一个问题分割法 http docs oracle com javase 6 docs api java lang String html split 28java lang String 29for 字符串不适用于字符 作为一个
  • 使用链接列表插入优先级队列的方法

    首先 我觉得我应该提到这是一项作业 我并不是在寻找直接的代码答案 只是为了指出正确的方向 我们被要求在链表中实现优先级队列 我正在努力编写 insert 函数的第一部分 在代码中我尝试检查是否head包含任何内容 如果没有则设置为head
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • Apache Kafka 是否提供异步订阅回调 API?

    我的项目正在将 Apache Kafka 视为老化的基于 JMS 的消息传递方法的潜在替代品 为了让这个过渡尽可能的顺利 如果替代的排队系统 Kafka 有一个异步订阅机制那就更理想了 类似于我们当前项目使用的JMS机制MessageLis
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • 升级到 Tomcat 8 时出现 ClassNotFoundException

    我最近将 NetBeans IDE 从 v7 3 升级到 v8 突然我的应用程序在连接到数据库时在服务器启动时抛出异常 这两个版本的 IDE 之间的唯一区别是后者使用 Tomcat 8 异常日志 javax naming NamingExc
  • Java,如何管理线程读取socket(websocket)?

    我有一个 WebSocket 服务器 我的服务器创建一个新线程来处理新连接 该线程一直处于活动状态 直到 websocket 中断 我的问题 对于 1 000 000 个连接 我需要 1 000 000 个线程 我如何通过一个线程处理多个
  • 使用 Hibernate 防止无限循环数据检索

    我想知道 想象一个场景 例如 POJO public class User private String userName private String name private String surname private List

随机推荐

  • Fortran 将数组传递给函数

    我正在尝试将未知长度的数组传递给函数 我还希望 a 的索引与 b 相同 这可能吗 程序编译但确实运行该函数 任何帮助 将不胜感激 function RealCumSum i result j real dimension 1 intent
  • C++ - 类问题

    At http www learncpp com cpp tutorial 82 classes and class members 有以下程序 我做了一些小修改 include
  • 将二进制字符串解析为文本/字符

    我可能忽略了一些愚蠢的事情 但我从来没有处理过代码中的二进制文件 并且认为在加密程序中练习它是一个好主意 为了好玩 长话短说 我能够将字符串转换为二进制 以字符串的形式 但不知道如何进行相反的操作 现在 我有这样的事情 public sta
  • Matplotlib 找不到基本字体

    我在 miniconda 虚拟环境中的 Python 3 上使用 matplotlib 版本 2 0 0 我正在开发一个 UNIX 科学计算集群 但我没有 root 权限 我通常通过 ipython 笔记本执行 python 代码 如果我执
  • Android 8:不允许明文 HTTP 流量

    我收到 Android 8 用户的报告称我的应用程序 使用后端提要 不显示内容 经过调查 我发现 Android 8 上发生以下异常 08 29 12 03 11 246 11285 11285 E 12 03 11 245 main Ex
  • 不断收到错误“列表”对象没有属性“拆分”

    当尝试逐字 逐行拆分列表时 不断出现此拆分错误 我得到了一个包含链接的文件 20000 个链接 这些链接位于名为 链接 的列表中 到目前为止我的代码 import networkx as nx Create graph network gr
  • 如何借用未包装的 Option? [复制]

    这个问题在这里已经有答案了 我想使用迭代向量 iter mut and map fn calculate distances planes mut Vec
  • gnuplot 中的循环结构?

    有没有什么方法可以迭代地从多个文件中检索数据并将它们绘制在 gnuplot 中的同一个图表上 假设我有像data1 txt data2 txt data1000 txt这样的文件 每个都有相同数量的列 现在我可以写一些类似的东西 plot
  • 找不到模块@angular/core + angular2

    我正在尝试在 Visual Studio 2015 中使用 Typescript 创建 Angular 2 应用程序 我已经在我的计算机上安装了 npm 当我编译我的应用程序时 出现错误无法找到模块 angular core 在 impor
  • ASP.net PageMethods 返回未定义

    大家好 我尝试使用 ToolkitScriptManager 将数据从 cs 获取到 js 这是我的 aspx
  • 当只有一个数据时如何设置matplotlib条形图宽度

    我正在使用 matplotlib 生成图表 生成条形图时存在一个问题 如果只有一个数据 如下所示 即使设置了宽度 图形的宽度也覆盖了整个区域 例子 x 3 y 10 bar x y width 0 2 align center The wi
  • 检查给定的浮点数落在列表中的哪些浮点数之间

    我有一个如下所示的列表 Ordered list a 0 1 0 3 0 4 0 5 0 6 0 7 0 9 我需要迭代一个如下所示的浮点数列表 Not ordered list b 0 12 0 53 0 30 0 03 0 77 0 6
  • jQuery - 构建一个在调整大小时不闪烁的自动调整大小文本区域

    我一直在努力创建一个自动调整大小的文本区域 就像在 FB 上一样 可以在您键入时调整大小 那里有一些插件 问题是他们都只有 99 在那里 缺少的是 在调整大小时 文本区域闪烁 返回 输入时 粘贴时有延迟 请看这里 http jsfiddle
  • 改造2在拦截中将post附加到requestbody

    我有这个 OkHttpClient client new OkHttpClient client interceptors add new Interceptor Override public com squareup okhttp Re
  • 在 Python 中匹配两个字母列表

    如何在不考虑Python列表中字母出现顺序的情况下匹配两个字母列表 例如 认为我的第一个清单是 a b c d 我想将此列表与另一个列表匹配 b c a d 然后得到一个真实的输出 这个怎么做 我是 python 新手 需要你的帮助 提前致
  • tomcat 不支持的类版本错误

    我在 Mac 上安装了 bitnami Tomcat 7 apache tomcat mysql 使用 java 1 7 76 我的 Mac 使用 java 1 8 运行时 当我将项目 在同一台 Mac 上用 intellij 制作 部署到
  • 如果两个不同的分组与 dplyr 不相交,如何合并它们

    假设我有两组标识符id1 and id2在数据框中 如何创建新的标识符id3其工作原理如下 我认为id1作为更严格的键 以便观察结果首先分组id1然后在id2 如果有两组具有不同值的行id2其某些元素具有相同的id1 这两个集合应该具有相同
  • 换行时删除多行 Flex 项目之间的空间(间隙)

    我试图将许多物品放在一个具有设定高度的容器中 如果没有剩余空间 物品将彼此相邻地继续进行 这是这个想法 我正在尝试使用 flexbox 来实现这一点 这是一个具有设定高度 方向设置为的容器column and flex wrap is wr
  • 创建一个可变长度的字符串,并用重复字符填充

    所以 我的问题已经被其他人以 Java 形式提出了 Java 创建一个具有指定长度并填充特定字符的新 String 实例 最好的解决方案 但我正在寻找它的 JavaScript 等效项 基本上 我想根据每个字段的 maxlength 属性
  • Java支持默认参数值吗?

    我遇到过一些具有以下结构的 Java 代码 public MyParameterizedFunction String param1 int param2 this param1 param2 false public MyParamete