5行代码求解释public class Test01 {{b 5 a b + 1 }int a int b }------------------------------
5行代码求解释
public class Test01 {
{
b = 5 ;
a = b + 1 ;
}
int a ;
int b ;
}
----------------------------------
以上代码a=b+1;报错,说b未定义。求解释。此贴的前贴请参见:
http://topic.csdn.net/u/20120705/15/ea3af978-8b08-4d9d-9553-1e0a18548e2c.html
[解决办法]
[解决办法]
我引用的这个页面的内容,里面特别举了和你一样的例子,你自己再看一下吧
[link=http://www.xyzws.com/Javafaq/what-are-the-forward-reference-rules/9][/link]
[解决办法]
有意思
看起来代码其实是没有什么问题,看看class的字节码,为了能顺利通过编译,我将int b的声明语句上移,int a的位置不动。
- Java code
public class test { int b ; { b = 5 ; a = b + 1 ; } int a ;} 