Android 在onCreate()中初始化的属性

Android 在onCreate()中初始化的属性,android,oncreate,Android,Oncreate,我用int a属性创建了我的类(exending活动)。 该属性在方法onCreate()中自动初始化为0 这正常吗 在方法onCreate()中 不,它没有在onCreate()中初始化。它在实例化类的对象时初始化 0 是的。int的变量是原语类型,只能保存数值,除非以其他方式对其进行初始化,否则它将被赋值为0(与整数相反,整数也可以是null) 见文件: 这是正常的。你看,“int”是一种基本类型。它不是一个对象,因此不能保存“null”值。如果希望变量在onCreate()处为null,

我用int a属性创建了我的类(exending活动)。
该属性在方法onCreate()中自动初始化为0

这正常吗

在方法onCreate()中

不,它没有在
onCreate()
中初始化。它在实例化类的对象时初始化

0

是的。
int
的变量是原语类型,只能保存数值,除非以其他方式对其进行初始化,否则它将被赋值为
0
(与
整数
相反,整数也可以是
null

见文件:


这是正常的。你看,“int”是一种基本类型。它不是一个对象,因此不能保存“null”值。如果希望变量在onCreate()处为null,则必须将其类型更改为其对象表示形式。“Integer”类表示原语类型“int”。

来自Java官方教程:

已声明但未初始化的字段将设置为 编译器的合理默认值


检查每种数据类型的默认值:

如果您没有为
int
属性分配一些值,则默认情况下,它在构建时初始化为value
0
。活动的生命周期方法
onCreate(…)
稍后将被调用,因此,如果您没有在
onCreate(…)
中指定某些值,则使用默认值。