在 onCreate() 中初始化的属性
Attribute initialized in onCreate()
我用一个属性 int a.
创建了我的 class(扩展 Activity)
onCreate()方法中属性自动初始化为0。
正常吗?
in the method onCreate().
不,它没有在 onCreate()
中初始化。它在实例化 class 的对象时初始化。
0
是的。 int
的变量是原始类型,只能保存数值,除非您以其他方式初始化它,否则它将被分配为 0
(与 Integer
相反,它也可以是 null
) .
查看文档:
https://docs.oracle.com/javase/tutorial/java/javaOO/index.html
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
这是正常的。你看,"int" 是原始类型。它不是一个对象,因此,它不能包含 "null" 值。如果您希望您的变量在 onCreate() 时为 null,则必须将其类型更改为它的 Object 表示形式。 "Integer" class 表示原始类型 "int".
来自官方Java教程:
Fields that are declared but not initialized will be set to a
reasonable default by the compiler.
检查每种数据类型的默认值:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
我用一个属性 int a.
创建了我的 class(扩展 Activity)
onCreate()方法中属性自动初始化为0。
正常吗?
in the method onCreate().
不,它没有在 onCreate()
中初始化。它在实例化 class 的对象时初始化。
0
是的。 int
的变量是原始类型,只能保存数值,除非您以其他方式初始化它,否则它将被分配为 0
(与 Integer
相反,它也可以是 null
) .
查看文档:
https://docs.oracle.com/javase/tutorial/java/javaOO/index.html https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
这是正常的。你看,"int" 是原始类型。它不是一个对象,因此,它不能包含 "null" 值。如果您希望您的变量在 onCreate() 时为 null,则必须将其类型更改为它的 Object 表示形式。 "Integer" class 表示原始类型 "int".
来自官方Java教程:
Fields that are declared but not initialized will be set to a reasonable default by the compiler.
检查每种数据类型的默认值:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html