Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用计数器创建多个抽象实例?_Java_Scope - Fatal编程技术网

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

Java 如何使用计数器创建多个抽象实例?,java,scope,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);

这是我的密码:

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);
}
for(int i=0;i<40;i++)
{
按钮btn=新按钮()
{
@凌驾
公共作废点击()
{
结果=i;
}
};
基站设置位置(i*30,0);
btn.设置标签(“选项”+i);
}
但是,由于我的
按钮
类是抽象类,因此不能使用int
i
,因为它未列为
最终
。在这种情况下,如何启用计数器的使用


谢谢

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

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

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

使用
final int j=i
并在
中单击