如何使用计数器创建多个抽象实例?

时间:2017-04-25 15:57:40

标签: java scope

这是我的代码:

for (int i = 0; i < 40; i++)
{
     Button btn = new Button()
     {
         @Override
         public void click()
         {
             result = i;
         }
     };
     btn.setLocation(i * 30, 0);
     btn.setLabel("Option " + i);
}

但是,由于我的button类是抽象的,因此无法使用int i,因为它未列为final。如何在此方案中启用计数器?

感谢。

1 个答案:

答案 0 :(得分:6)

您可以从非最终变量创建最终变量:

for (int i = 0; i < 40; i++) {
  final int i0 = i;
  //etc. 

请注意,使用Java 8+时,final修饰符是可选的。