9.4.4 字段的初始化

所有的字段级变量被编译器初始化为所属类型中等价于0的值。如布尔型被初始化为false,数值型被初始化为0或者0.0,所有的引用类型都被初始化为null。

各种数据类型的默认值如表9-3所示。

9.4.4 字段的初始化 - 图1

9.4.4 字段的初始化 - 图2

当然,也可以在声明时就立即进行初始化,而且我们推荐这种方式,这是一个好的编程习惯。下面我们通过示例来说明,如代码清单9-8所示。

代码清单9-8 字段的初始化


1 using System;

2

3 namespace ProgrammingCSharp4

4{

5 class ClassExample

6{

7 public static void Main()

8{

9 Car car=new Car();

10//获取字段speed的默认值

11//默认0

12 Console.WriteLine(“汽车的速度为:{0}”,car.speed);

13//默认0

14 Console.WriteLine(“汽车的行驶距离为:{0}”,car.distance);

15//默认False

16 Console.WriteLine(“汽车是否过保修期:{0}”,car.isOutOfWarranty);

17//声明时就进行了初始化

18 Console.WriteLine(“汽车的品牌为:{0}”,car.type);

19}

20}

21

22 class Car

23{

24//当前行驶速度

25 public double speed;

26//当前行驶距离

27 public uint distance;

28//是否已过保修期

29 public bool isOutOfWarranty;

30//车辆品牌

31 public string type="BMW";

32}

33}


上述代码输出为:


汽车的速度为:0

汽车的行驶距离为:0

汽车是否过保修期:False