Вътрешен клас на KeyAdapter Какво точно прави Java тук?

Винаги, когато трябва да взема въвеждане от клавиатурата, използвам следната техника на вътрешния клас на KeyAdapter.

controls = new KeyAdapter()
   {
       public void keyPressed(KeyEvent e)
          {
              //do something with input
          }
   };

Не наскоро научих как да правя това, но започвам да се чувствам неудобно, тъй като обичам да разбирам какво се случва в моя код. Какво точно прави Java тук? Най-доброто, което мога да измисля, е, че е форма на вътрешен клас, но защо не мога да напиша конструктор?


person Community    schedule 25.05.2013    source източник
comment
Потърсете Java анонимен клас и прочетете Пътека за анонимни класове. Познаването на името помага много. Също така е свързан блок за инициализация или инициализация с двойна скоба, която може да се използва за симулиране (fsvo) на конструктор тук. Последният въпрос е най-интересен (т.е. не е тривиално обяснен в уроците), но е заровен: Защо анонимните класове не могат да имат конструктор?   -  person user2246674    schedule 26.05.2013
comment
проверете този проблем: stackoverflow.com /questions/5107158/   -  person Deividi Cavarzan    schedule 26.05.2013
comment
И дори Защо анонимните класове не могат да имат конструктор? е вече отговорено. Малко четене/проучване може да помогне много.   -  person user2246674    schedule 26.05.2013
comment
Вижте също този Въпроси и отговори на нулев модел за внедряване.   -  person trashgod    schedule 26.05.2013