Java 调用方法时更新整数?

Java 调用方法时更新整数?,java,Java,如何根据从另一个类调用方法的次数更新main方法中的整数 我在jFrame中有一个jButton,每次单击按钮时,它都会从另一个类运行一个方法(如果满足条件)。我希望每次单击按钮并调用另一个类中的特定方法时,都会更新整数 谢谢你的帮助 如果您试图从方法外部更新main方法中声明的局部变量,那么恐怕您不能 public static void main(String[] args) { int counter = 1; doSomething(); // there is no

如何根据从另一个类调用方法的次数更新main方法中的整数

我在jFrame中有一个jButton,每次单击按钮时,它都会从另一个类运行一个方法(如果满足条件)。我希望每次单击按钮并调用另一个类中的特定方法时,都会更新整数


谢谢你的帮助

如果您试图从方法外部更新
main
方法中声明的局部变量,那么恐怕您不能

public static void main(String[] args) {
    int counter = 1;
    doSomething();  // there is no way that 'doSomething()' can update 'counter'
}
Java既没有一级闭包,也没有将变量地址作为参数传递(即通过引用调用)的能力。其他语言通常使用这两种方法来实现局部变量的范围外变异


但是,您尝试这样做的事实表明,您缺少了一些关于OO编程和设计的重要内容。您应该重写代码以执行以下一项或多项操作:

  • 将一个或多个值作为结果或保存结果的对象返回
  • 将对象作为参数传递并设置对象中的值
  • 使用静态变量
  • 使用使用依赖项注入设置的共享对象

(静态变量是一个糟糕的选择…出于各种原因…DI对于初学者来说太复杂了,并且需要很多依赖项。)

将整数变量
公开
,并从名为的方法进行设置…正如我理解您的问题,我认为您需要将整数声明为
publicstatic
,并在方法中递增它。首先看看:是什么阻碍了你?您认为您的问题在哪些方面对社区有用?你有没有检查过,在解决你的案子时,还没有一个问题得到回答?然后:使用一个AtomicInteger并将其传递给有问题的方法或注册一个侦听器。您需要确保,在您想要编辑变量的位置,它是已知的。因此,您有许多选择,它们取决于您想要构建的结构。您可以公开变量,提供getter方法,将变量的引用传递给使用者,等等。你能给我们看看你的密码吗?然后,我们可以尝试确定正确的操作并更好地帮助您。