Мне было интересно, что произошло, если я определяю базовый объект Activity со всеми моими действиями в качестве подклассов. Затем я объявляю статическую переменную в базовом классе, будут ли все подклассы использовать SAME static или будет один для каждого подкласса.
Например. Мой базовый класс:
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 if должен быть истинным или ложным?
Я знаю, что если я повторяю Activity1 более одного раза, то, очевидно, я бы получил одну и ту же статическую переменную. Однако здесь я каждый раз создаю отдельный подкласс.
У меня создается впечатление, что это то, что происходит со мной, но хочу быть уверенным.