i=1是语句,语句出现在类成员的位置(类中,成员方法之外)需要加{},使之成为构造代码块,否则在编译时会报错。改成这样就可以了(jdk8.0编译通过):class AA {int i;{i=i;}}public class Test {public static void main(String[] args) {AA a2=new AA();}}