public int[] process(IntArrayProductor cmd , int length)
{
int[] result = new int[length];
for (int i = 0; i < length ; i++ )
{
result = cmd.product();//首先product()是返回int类型,而result是数组,不能赋值
}
return result;
}
public static void main(String[] args)
{
CommandTest ct = new CommandTest();
final int seed = 5;/*改成final类型,因为当你使用内部匿名类的时候,如果希望内部匿名类可以调用到这个参数,
就必须设置其为Final,最常见的就是用于函数的回调。*/
int[] result = ct.process(new IntArrayProductor()
{
public int product()
{
return (int)Math.round(Math.random() * seed);
}
} , 6);
System.out.println(Arrays.toString(result));
}
} 作者: zhanghuxin 时间: 2013-11-11 10:18
谢了,翻了一下书,内部类中的局部变量必须用Final修饰符