测试代码如下:
值类型的成员变量只要声明一下就可以用,为什么局部变量就不能在声明后直接用呢?
我想实际上任何类型都是必须经初始化后才能用的,不管是值类型还是引用类型。只是有的必须在你的代码中显式写明,而有些由编译系统代劳了。看似只经过声明而未初始化的成员变量,实际上也经过了初始化。 因为成员变量总是隶属于某种类型的,而这种类型必须初始化后才能用(静态值类型成员变量的情况也类似)。 当系统为初始化这种类型分配内存时,也就为类型的成员变量分配内存并赋予了初始值, 也就是说成员变量的初始化工作是在包含其的类型的初始化过程中完成的。 而作为方法内部声明的局部变量,可以看作不属于任何类型,在为其赋值之前没有其它机会将其初始化,当然就不能用了。