在Java中,类的成员变量如果没有进行初始化赋值,其默认值会根据类型而定。对于数值类型(如int、float、double、long等),默认值是0;对于布尔类型(boolean),默认值是false;对于对象引用类型(如String、BigDecimal等),默认值是null。
在这个例子中,at是一个BigDecimal类型的实例变量,如果没有进行初始化赋值,其默认值是null,而不是0。因此,为了避免后续使用时可能出现空指针异常,需要进行初始化赋值,而BigDecimal.ZERO表示值为0的BigDecimal类型实例,可以作为默认值进行赋值。
另外,对于从数据库中查询到的BigDecimal类型的字段,如果该字段没有值(即为null),在Java中使用该字段时也会出现空指针异常。因此,为了避免出现这种异常,通常也需要对该字段进行判空处理,在没有值时进行默认值的赋值。