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