« 上一篇下一篇 »

网站建设编码中成员的初始化

为了确保变量使用之前已经进行初始化Java做得还要彻底。如果变量是在方法内部定义的局部变量,这种保障就表现为编译时的错误信息。这个错误信息会告诉你还没有初始化。当然编译器原本可以给一个缺省值,但这看上去更像是程序员犯的错误,而给了缺省值之后反而会把这个错误给掩盖了。强制程序员提供初始化的值更像是在找bug。

但是,如果这个primitive是类的成员数据,那么情况就有些不同了。由于任何方法都可能初始化或用到这个数据,因此要求用户在使用数据之前就对它进行适当的初始化,就显得不那么现实了。然而把垃圾值留给它也是不安全的,所以类的primitive类型的数据都能确保获得一个初始值。

尽管没有进行赋值,但是它们已经自动初始化了(char的值是0,打印出来就是空格)。所以至少你不会有要用未经初始化的值来工作的危险。如果在类里定义了一个对象的reference,但是却没有对它进行初始化,那么那个reference会被赋上一个特殊的值null,null也是Java的关键词。

« 上一篇下一篇 »