gpt4 book ai didi

java - 如何在java中声明一个辅助方法,在本地使用能够引用变量

转载 作者:行者123 更新时间:2023-12-01 17:21:59 25 4
gpt4 key购买 nike

我有一个包含多种方法的类。现在我想定义一个只对方法 A 可见的辅助方法,就像古老的“子函数”一样。

public class MyClass {
public methodA() {
int visibleVariable=10;
int result;
//here somehow declare the helperMethod which can access the visibleVariable and just
//adds the passed in parameter
result = helperMethod(1);
result = helperMethod(2);
}
}

helperMethod 仅由 MethodA 使用,并且应该访问 MethodA 的声明变量 - 避免显式传递许多已在 methodA 中声明的参数。

这可能吗?

编辑:辅助方法只是用来避免重复大约 20 行代码,这些代码只有 1 个地方不同。在这 2 种情况下,这 1 个位置可以轻松参数化,而 methodA 中的所有其他变量保持不变

最佳答案

那么你可以声明一个本地类并将方法放在那里:

public class Test {

public static void main(String[] args) {
final int x = 10;

class Local {
int addToX(int value) {
return x + value;
}
}

Local local = new Local();

int result1 = local.addToX(1);
int result2 = local.addToX(2);
System.out.println(result1);
System.out.println(result2);
}
}

但这将是一个非常不寻常的代码。通常这表明您需要退一步并重新审视您的设计。您实际上应该创建不同的类型吗?

(如果另一个类型(或接口(interface))已经提供了正确的签名,您可以使用匿名内部类代替。那不会更好......)

关于java - 如何在java中声明一个辅助方法,在本地使用能够引用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18051698/

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