阅读(3917)
赞(15)
如何在Java中更改方法签名
2017-11-02 11:57:45 更新
在 Java 中,可以使用更改方法签名重构为:
- 更改方法名称、返回类型和可见性范围。
- 添加新的参数并删除现有的参数。请注意,您还可以使用专用的提取参数重构来添加参数。
- 重新排列参数。
- 更改参数名称和类型。
- 添加和删除异常。
- 通过方法调用层次结构传播新的参数和异常。
示例
下表显示了执行相同更改方法签名重构的4种不同方法。
在所有情况下,类型为 double 的新参数 price该类型的新参数添加到方法 myMethod () 中。
这些示例显示了如何根据重构设置影响方法调用、调用方法 (myMethodCall ()) 和其他代码片段。
实例-1:
实例-2:
实例-3:
实例-4:
重构之前 | 重构之后 |
---|---|
|
|
更改方法签名
- 在编辑器中,将光标放在要更改其签名的方法的名称中。
- 执行以下操作之一:
- 按 Ctrl+F6。
- 在主菜单中选择:重构| 更改签名。
- 从上下文菜单中选择:重构|更改签名。
请注意,如果重构覆盖其他方法的方法,IntelliJ IDEA 建议从基类修改方法,或仅修改选定的方法。
- 在 "更改签名" 对话框中,对方法签名进行必要的更改,并指定需要进行的其他相关更改。
您可以:
- 通过在可见性下选择必要的选项来更改方法可见性范围(访问级别修饰符) 能见度。
- 通过编辑 "返回类型" 字段的内容来更改方法返回类型。
请注意,此字段以及用于指定类型的其他字段中都有代码完成。
- 更改方法名称。要做到这一点,请在 "名称" 字段中编辑文本。
- 使用 "参数" 选项卡上的控件管理方法参数:
- 要添加新参数,请单击(Alt+Insert)并在相应字段中指定新参数的属性。如有必要,请选择 Use Any Var 选项。
添加参数时,可能需要将这些参数传播到调用当前方法的方法。
- 要删除参数,请在表中选择此参数,然后单击(Alt+Delete)。
- 要重新排序参数,请使用(Alt+Up)和(Alt+Down)。
- 要更改参数的名称、类型或默认值,请单击表中的此参数,并在相应的字段中进行必要的编辑。
- 要添加新参数,请单击(Alt+Insert)并在相应字段中指定新参数的属性。如有必要,请选择 Use Any Var 选项。
- 沿调用当前方法的方法的层次结构传播新的方法参数(如果有)。
(可能有一些方法调用您正在更改其签名的方法,这些方法反过来可能会被其他方法调用,等等,您可以通过以下方式将所做的更改传播到当前方法的参数:调用方法的层次结构,并指定哪些调用方法应该受到影响,哪些不应该。)
如何传播新参数:
- 点击(Alt+G)。
- 在 "选择要传播新参数的方法" 对话框的左边的窗格中,展开必要的节点,并选中要将新参数传播到的方法旁边的复选框。
为了帮助您选择必要的方法,调用方法的代码和被调用的方法显示在对话框的右侧部分(分别在调用方法和被调用者方法窗格中)。
当您在左侧窗格中的方法之间切换时,右侧部分中的代码会相应更改。
- 点击“确定”。
- 使用异常类型列表和 "例外" 选项卡上的按钮管理方法异常。这些过程类似于用于管理方法参数的步骤。
- 沿着调用当前方法的方法的层次结构传播新的异常(如果有的话)。要启动此过程,请使用(Alt+X)。在所有其他方面,该过程与用于传播新方法参数的步骤类似。
- 指定如何处理方法调用。为此,请选择以下方法调用选项之一:
- 如果你想要修改方法调用,请选择 "修改"。
- 如果要使现有方法调用保持不变,请通过重载方法选择 "委托"。
- 要立即执行重构,请单击 "重构"。
若要在实际执行重构之前查看预期的更改并进行必要的调整,请单击 "预览"。