黑马程序员技术交流社区

标题: 代码找错 [打印本页]

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


作者: qingger    时间: 2015-6-29 00:17
受教了,谢谢
作者: EnderDBluse    时间: 2015-6-29 11:59
恩恩 不错:handshake
作者: 至简_HREO    时间: 2015-6-29 12:30
第二题也可以直接加一句  Something(int i){this.i=i;}  
作者: hgr3306    时间: 2015-6-29 12:51
这个还真没注意过,受教了~~
作者: ayang    时间: 2015-6-29 13:02
知道了, 谢谢楼主的分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2