论坛首页 Java企业应用论坛

关于返回值的问题,

浏览 3913 次
精华帖 (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, 请问是为什么啊? 求解啊~~
   发表时间: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了。

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);
}
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics