// 构造方法
public ClassExample(){
System.out.println("In constructor.");
}
public static void main(String[] args){
new ClassExample();
}
}
但是,我如果把整个“实例初始化语句块”注释掉,这样对i赋值:
int i;
i =10; //但如果直接采取int i=10;的赋值形式也可以编译通过
static int j;
则显示这样的错误:
ClassExample.java:8: <identifier> expected
i=10;
^
ClassExample.java:8: cannot resolve symbol
symbol : class i
location: class ClassExample
i=10;
^
2 errors
怎么回事呢?呵呵
兄弟的问题是个好问题啊,以前没注意。找了一下,建议去看《JAVA IN A NUTSHELL》第3章,3。2 CREATING AND INTIALIZING OBJECTS。就都明白了。
看你的名字应该是从C++转过来的吧。因为JAVA是纯面向对象语言,就是说所有的东西都是类,包括已经存在的API库和任何人要编的JAVA程序。在类里只能有2种东西存在。一个是变量,一个是方法。所以用任何一种都合理。
private int i =10;这个就是变量。合理。
如果写成这样
private int i;
i = 10;
很明显第2个不是方法。所以JAVA说出错。