Почему в анонимном классе доступны только конечные переменные?

  1. a здесь может быть только final. Почему? Как мне переназначить a в методе onClick () , не сохраняя его как закрытый член?

     private void f (Button b, final int a) { Почему? Как я могу переназначить метод onClick (), не сохраняя его как закрытый член? private void f (Button b, final int a) {b.addClickHandler (new ClickHandler () {...  
    1. a здесь может быть только final. Почему? Как мне переназначить a в методе onClick () , не сохраняя его как закрытый член?

       private void f (Button b, final int a) { Почему? Как я могу переназначить метод onClick (), не сохраняя его как закрытый член? private void f (Button b, final int a) {b.addClickHandler (new ClickHandler () {...  
      1. a здесь может быть только final. Почему? Как мне переназначить a в методе onClick () , не сохраняя его как закрытый член?

         private void f (Button b, final int a) {
         b.addClickHandler (новый ClickHandler () {
        
         @Override
         public void onClick (событие ClickEvent) {
         int b = a * 5;
        
         }
         });
        }
        
      2. Как вернуть 5 * a при нажатии? Я имею в виду,

         private void f (Button b, final int a) {
         b.addClickHandler (новый ClickHandler () {
        
         @Override
         public void onClick (событие ClickEvent) {
         int b = a * 5;
        return b; // но возвращаемый тип недействителен
         }
         });
        }
        
340
задан Andrii Abramov 13 July 2017 в 23:29
поделиться