看到这样一个代码找错题,和大家分享一下:代码一:
- class Something {
- int i;
- public void doSomething() {
- System.out.println("i = " + i);
- }
- }
复制代码 代码二:
- class Something {
- final int i;
- public void doSomething() {
- System.out.println("i = " + i);
- }
- }
复制代码 这两个代码运行的结果和原因:
代码一:正确
输出“i=0”,因为int i是成员变量,它有初始化值为0
代码二:错误
final int i是个final修饰的成员变量,final修饰的成员变量没有初始化值,必须被赋予一个明确的值。可以修改为“final int i=0”
|
|