出错程序的源代码片段如下: class RandomRodentGenerator ... { private static Random rand = new Random(); public Rodent next() ...{ switch(rand.nextInt(3)) ...{ default: case 0:return new Mouse(); case 1:return new Gerbil(); case 2:return new Hamster(); } }} public class AbstractRodents ... { public static void execken(Rodent[] r) ...{ for(int i=0;i<r.length;i++) ...{ r[i].ken(); } } public static void main(String [] args) ...{ //这一句即为出错代码: //错误描述:AbstractRodents.java:60: 非法的表达式开始 // private static RandomRodentGenerator gen= private static RandomRodentGenerator gen= new RandomRodentGenerator(); Rodent[] r = new Rodent[3]; for(int i=0;i<r.length;i++) ...{ r[i]=gen.next(); } }} 但将gen作为类成员变量后就没有错误了, 导致这个错误的原因是什么呢?