Java 什么时候做活动';s实例变量是否初始化?

Java 什么时候做活动';s实例变量是否初始化?,java,android,android-activity,Java,Android,Android Activity,在我的android应用程序中,我有一个奇怪的bug。下面这样的实例变量在运行时意外地分配给它的默认值(在本例中为-false)。这种类型的变量何时在android活动中初始化 public class MainActivity extends Activity { private boolean isInitialized = false; // <- When do this variable get initialized? } 公共类MainActivity扩展活动{

在我的android应用程序中,我有一个奇怪的bug。下面这样的实例变量在运行时意外地分配给它的默认值(在本例中为-false)。这种类型的变量何时在android活动中初始化

public class MainActivity extends Activity {
    private boolean isInitialized = false;  // <- When do this variable get initialized?
}
公共类MainActivity扩展活动{
私有布尔值isInitialized=false;//Java没有“全局变量”


您正在谈论的是
实例变量
。它们在每次创建新实例时都会被初始化。

在创建实例时,Java中的实例变量会被初始化

大多数情况下,对象都会通过
new
实例化

对于活动,它们由Android框架使用反射进行实例化(请参阅)。然后执行
Context
的初始化,并在实例上调用activity
onCreate()


有关详细信息,请查看。

当您在此时调用此活动时,它将被初始化。运行时如中所示?确切时间?您在“调用此活动”中的意思是什么?您是指活动的onCreate吗?调用onCreate时,文档是Java语言规范的一部分。在调用构造函数方法之前,在创建实例时初始化实例成员。而不是在onCreate()时调用,但在调用之前。有关初始化字段的介绍,请参阅。是的,我了解,但活动如何。它们从不使用构造函数进行初始化。我想知道初始化时是否存在任何特定的活动生命周期方法。我指的是在方法外部分配的变量。您可以调试r代码以了解生命周期活动,在另一方面,此链接可能会帮助您:“在方法外部分配”?您是指“在方法外部声明”,实例变量。是的,我是指在方法外部声明。“如果在初始化时有任何特定的活动生命周期方法”-不,没有。即使在纯Java中也没有这样的东西。创建实例时调用的第一段Java代码是constructur。到那时,所有实例变量都已由JVM初始化。