Каковы преимущества анонимного внутреннего класса (по сравнению с неанонимным внутренним классом)?

Рассмотрим это (анонимно):

speakBtn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        mTts.speak(words.getText().toString(), TextToSpeech.QUEUE_ADD, null);
    }});

vs. this: (не анонимно):

class MyOuterClass {
    private class MyOnClickListener implements OnClickListener {
        @Override
        public void onClick(View view) {
            mTts.speak(words.getText().toString(), TextToSpeech.QUEUE_ADD, null);
        }
    }

    // later (inside some method)...
        speakBtn.setOnClickListener(new MyOnClickListener());
}

Есть ли у анонимной формы какие-либо другие преимущества, кроме меньшего количества строк?

Есть ли преимущество в производительности?

7
задан an00b 28 February 2011 в 22:19
поделиться