Почему мы называем добавление слушателя к кнопке напрямую как внутренний класс? - PullRequest
1 голос
/ 03 апреля 2012

Если мы добавим прослушиватель событий к кнопке в Java следующим образом:

btn.setOnClickListener(new OnClickListener(){

public void onClick(View v)
{
// Do smoething
}

});

это называется, мы используем внутренний класс, у меня проблема с пониманием концепции внутреннего класса

не объявлен ли внутренний класс таким образом?

    class AOuter{
    int a=5;

     class BInner{
       // do smothing
     }

}

Ответы [ 3 ]

4 голосов
/ 03 апреля 2012

Слушатель кликов - это анонимный внутренний класс, другой - просто внутренний класс. Оба типа вложенные классы

0 голосов
/ 03 апреля 2012

@ Андрейс прав. Причина, по которой люди используют анонимный внутренний класс для добавления прослушивателя, обычно заключается в том, что это происходит один раз, и вы не будете повторно использовать это действие / прослушиватель. Однако, если этот слушатель / действие планируется использовать повторно, следует явно определить его, чтобы сделать его многоразовым.

0 голосов
/ 03 апреля 2012

Класс, который вы предоставили для setOnClickListener, не может быть создан в другом месте.Он живет как аргумент этой функции, в то время как класс, определенный во втором сегменте кода, является вложенным, и его можно создать как обычно.

...