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