什么是Javastring的默认初始值?

考虑一个名为x的Javastring字段。 当为类x创build一个对象时, x的初始值是什么;

我知道,对于intvariables,默认值分配为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)