匿名内部类请求,而在Android学习TTS,我碰到下面的代码片段:澄清
speakBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
mTts.speak(words.getText().toString(), TextToSpeech.QUEUE_ADD, null);
}});
我真的很新的Java,所以在确定各种构建我的信心水平不那很棒。我认为我上面看到的是Anonymous Inner Class,但'新的OnClickListener()'令我感到困惑。因此,请确认和/或更正以下任何理解:
- 内部类在新的OnClickListener()后定义为 。
- OnClickListener是一个超级类 ,从中派生出内部类 。
- (匿名)内部类只有 一个成员函数:OnClick()。
- 什么是@Override内部类的 定义?如果 这是一个注释,那么我 困惑为this answer状态 匿名内部类不能 被注释。
最后,有没有办法用像我这样的n00b更容易破译的方式来编写上面的代码片段?
是不是一个接口(虚拟抽象)类? – an00b 2011-02-28 19:25:31
是的,你是对的。一个接口是一个完全抽象的类。但是为了不混淆,我们不认为接口是一个类;) – 2011-02-28 19:37:15