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

Kee*_*ert 2 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);
}
Run Code Online (Sandbox Code Playgroud)

但是,由于我的button类是抽象的,i因此不能使用int,因为它没有列为final.如何在此方案中启用计数器?

谢谢.

ass*_*ias 6

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

for (int i = 0; i < 40; i++) {
  final int i0 = i;
  //etc. 
Run Code Online (Sandbox Code Playgroud)

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