在A类中使用变量v,但是当我去B类然后返回A类时,值会改变。当我回到A类时,值是初始值。我们可以通过添加到final
变量或static
使其保持其值来修复吗?
谢谢
如果您在谈论Android的Activity
类,则解决方案是使用static
,因为每次启动新活动时,启动活动都会“暂停”(onPause()
调用其方法)。当在新启动的 'back' 按钮被按下时Activity
,堆栈中的前一个活动被恢复并onResume()
调用它的方法。
然而,static
变量只初始化一次。此外,该变量的单个副本由类/活动的所有实例共享,因此使用静态的另一个好处是您可以修改任何其他类的值。
在您的情况下,您可能正在方法中初始化非静态变量onResume()
,因此从另一个活动返回会重新初始化其值。
在使用普通 Java 类的另一个类中的函数后返回控件时,不应发生同样的情况。