从来没这么写过代码, 突然被别人问到。 还真不知道可以在构造函数中初始化。{:3_60:}作者: 任雷彬 时间: 2012-11-1 12:12
1.成员变量在对象创建时会被系统默认初始化。局部变量不会被默认初始化。
而被final修饰的变量在内存中以常量形式存在。所以对成员变量需要显式的初始化。
如果没有显式的初始化,成员变量将在内存中始终以默认值存在。这样的成员变量失去了定义和实用的价值。
如 final int a a的默认值为0,在内存中一直为0,但是失去了定义a的意义和价值。
2.对于局部变量不会被默认初始化。所以可以以final int i这样的形式存在。
但是也只能被显式的赋值一次。
如 final int i;
i =5; i 的值只能为5.