gpt4 book ai didi

java - 在Java中使用级联将相同名称的函数转换为单个函数

转载 作者:行者123 更新时间:2023-12-01 16:51:17 26 4
gpt4 key购买 nike

有没有办法将下面的函数转换为Java中的一个函数?我尝试使用 (TestRow ) 级联它,但这不起作用。

public void testWindow (TestRow window, String title) {
if (window != null) {
try {
window.zClose(window);
} catch (HarnessException e) {
e.printStackTrace();
}
window = null;
}
}

public void testWindow (TestColumn window, String title) {
if (window != null) {
try {
window.zClose(window);
} catch (HarnessException e) {
e.printStackTrace();
}
window = null;
}
}

这里的TestRow和TestColumn是自定义类型。

调用方式相同,但由于自定义窗口名称,我需要多次复制粘贴相同的函数,我认为这是可以避免的。

最佳答案

将公共(public)逻辑提取到一个单独的方法中,并以公共(public) Windows 类作为参数,并在很多地方调用这个公共(public)方法。例如

public void testWindow (TestRow window, String title) {
closeWindow(window);
}

public void testWindow (TestColumn window, String title) {
closeWindow(window);
}

private void closeWindow(CommonWindowsClass window) {
if (window != null) {
try {
window.zClose(window);
} catch (HarnessException e) {
e.printStackTrace();
}
window = null;
}
}

这里 CommonWindowsClassTestRowTestColumn 类的父类(super class)。

更新我也想你实际上根本不需要这个代码行window = null;

关于java - 在Java中使用级联将相同名称的函数转换为单个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39669554/

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