浏览 3914 次
锁定老帖子 主题:关于返回值的问题,
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-10-31
public class Test2 { static int i = set(); static int j = 2; private static int set(){ return j; } public static void main(String[] args) { System.out.println(i); } } 以上代码 打印出来的值是0, 请问是为什么啊? 求解啊~~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2015-11-01
比如
static int i = j; static int j = 2; 这样就会报编译错误。 说明static变量的初始化是顺序执行的。 static int i = set(); static int j = 2; private static int set(){ return j; } 1.基础知识: 所有基本类型变量都有初始值,比如int就是0, Object就是null static int i = set(); static int j = 2; private static int set(){ return j; } 执行static int i = set();的时候,j尚未初始化,只取了默认值,因此就为0了。 |
|
返回顶楼 | |
发表时间:2015-11-05
换个顺序就可以了
private static int set(){ return j; } static int j = 2; static int i = set(); public static void main(String[] args) { System.out.println(i); } |
|
返回顶楼 | |