Java变量声明

Java变量声明,java,android,Java,Android,我对android活动的程序流程有点困惑,在java中,主方法首先执行,而在android中,onCreate方法首先被调用,那么在类级别定义的变量呢?当活动开始执行时,如何声明/初始化它们,比如说首先调用onCreate。 阿尔索 我们可以在内部类中初始化这些变量并在内部类之外使用它们的值吗?典型的变量初始化发生在Android中的onCreate()中。如果变量不需要任何类型的Android上下文,则可以在声明的同一行进行初始化 使用内部类可能很棘手。他们真的不应该改变外部类的状态。您应该在

我对android活动的程序流程有点困惑,在java中,主方法首先执行,而在android中,onCreate方法首先被调用,那么在类级别定义的变量呢?当活动开始执行时,如何声明/初始化它们,比如说首先调用onCreate。 阿尔索
我们可以在内部类中初始化这些变量并在内部类之外使用它们的值吗?

典型的变量初始化发生在Android中的
onCreate()
中。如果变量不需要任何类型的Android
上下文
,则可以在声明的同一行进行初始化


使用内部类可能很棘手。他们真的不应该改变外部类的状态。您应该在声明的同一类中初始化变量。

当您想从类中的任何位置访问变量时,您应该声明该变量的类名声明,并且您可以从类中的任何位置初始化该变量,关于变量的值…下面是示例大纲

class MainActivity extends Activity {

    //Declare your variable here

    @Override
    protected void onCreateActivity(Bundle savedInstanceState) {

        //Initialize your variable here

   }

} 
实际上,
OnCreate()
是您所说的首先调用的方法。活动流程如下所示

OnCreate
->
OnStart
->
OnResume

此时,活动对用户可见

同样,当活动结束时

OnPause
->
OnStop
->
OnDestroy

所以回答你的问题。类级别的变量不依赖于这些方法。因为它的范围是整个活动,即:;从
OnStart
OnDestroy
。您可以在
Oncreate
中初始化它们,通常我们会这样做。如果您想在移动到下一个活动时更改这些值,您应该在
OnResume
中进行更改。
活动的生命周期如下所示


您可以像在java中一样自由地进行其他操作

我认为您应该首先检查活动生命周期!您是否查看了自动生成的文件
onCreate()
绝对不是执行的第一行代码。Android中其他地方基本上有一个
main
方法,该方法执行
new Activity()
并调用
Activity.onCreate(someContext)
。剩下的是标准java,类初始化完成一次(即<代码>静态变量),然后是实例初始化(字段、构造函数等等)