java - 跨多个不同子类的静态变量 - 更正

标签 java android static

我想知道如果我定义一个基本 Activity 对象并将我的所有 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 - 我应该仍然拥有第一个 Activity 设置的值吗? 在上面的示例中,“if”语句是真还是假?

我知道,如果我多次实例化 Activity1,那么显然我会得到相同的静态变量。但是,这里我每次都实例化一个不同的子类。

我的印象是这就是发生在我身上的事情,但我想确定一下。

最佳答案

静态就是静态。它们将引用相同的对象。

关于java - 跨多个不同子类的静态变量 - 更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6215680/

相关文章:

java - 如何使用java删除mongodb中的多个文档

android - 如何为 google play music 创建直接链接?

php - 在 PHP 中将静态方法作为参数传递

java - 使用 JavaSpaces 的 Blitz 实现

java - 是否有可能有一个可以执行 R 脚本的独立 spring boot jar ?

android - 位置 :fixed in Android HTC Incredible 2?

Activity 选项卡内的 Android 主细节布局避免嵌套 fragment

c++ - 链接 C++ 库时 undefined reference

android - 将应用程序上下文保存到 Android 中的静态变量是否安全?

java - 单个对象覆盖对象数组,不知道为什么