什么是Javastring的默认初始值?
考虑一个名为x
的Javastring字段。 当为类x创build一个对象时, x
的初始值是什么;
我知道,对于int
variables,默认值分配为0
,因为实例正在创build。 但是什么是String
?
如果你什么也不做,它将被初始化为null,所有的引用types也是如此。
那要看。 它只是一个variables(在方法中)? 还是class级成员?
如果它只是一个variables,你会得到一个错误,没有设置任何值,当试图读取它没有先给它一个值。
如果它是一个类成员,它将被VM初始化为null。
答案是 – 这取决于。
variables是一个实例variables/类variables吗? 看到这个更多的细节。
默认值的列表可以在这里find。
任何对象,如果它被初始化,它的抵赖值为空,直到除非我们明确地提供一个默认值。
有三种types的variables:
- 实例variables :总是被初始化
- 静态variables :总是被初始化
- 局部variables :使用前必须初始化
实例和静态variables的默认值是相同的,取决于types:
- 对象types(String,Integer,Boolean和其他):用null初始化
- 原始types:
- byte,short,int,long:0
- 浮动,双倍:0.0
- 布尔值:false
- char:'\ u0000'
一个数组是一个对象 。 所以声明了一个数组实例variables,但没有显式初始化variables将会有空值。 如果将一个int []数组声明为实例variables,则它将具有空值。
一旦数组被创build,它的所有元素都被赋予默认的types值。 例如:
private boolean[] list; // default value is null private Boolean[] list; // default value is null
一旦初始化:
private boolean[] list = new boolean[10]; // all ten elements are assigned to false private Boolean[] list = new Boolean[10]; // all ten elements are assigned to null (default Object/Boolean value)