跨多个不同子类的静态变量 - 已更正
我想知道如果我定义一个基本活动对象,并将我的所有活动作为该对象的子类,会发生什么。然后,我在基类中声明一个静态变量,所有子类都将使用相同的静态变量,还是每个子类都有一个。
例如。我的基类:
public class MyBaseActivity extends Activity{
static int myStatic;
...
....
}
然后:
public class MyActivity1 extends MyBaseActivity {
private void someMethod1(){
myStatic = 1;
}
...
....
}
和
public class MyActivity1 extends MyBaseActivity {
private void someMethod2(){
if (myStatic == 1)
doSomething();
}
...
....
}
如果我现在启动 MyActivity1,它会在“myStatic”中设置一个值。然后它退出,然后我启动 MyActivity2 - 我是否仍应具有由第一个活动设置的值?在上面的例子中,“if”语句是真的还是假的?
我知道,如果我多次实例化 Activity1,那么显然我会得到相同的静态变量。但是,在这里,我每次都实例化不同的子类。
我得到的印象是,这就是发生在我身上的事情,但想确定一下。