我想问一下使用匿名类与命名内部类的好习惯是什么?
我正在编写一个 Android 应用程序,其中包括许多 UI 元素(按钮、文本字段等)。对于他们中的许多人,我需要某种侦听器,因此在onCreate
应用程序中,我有一堆非常小的匿名类,例如:
someButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
// do something...
}
}
);
每个这样的匿名类都是 5 到 20 行大 - 足够小,非常适合Java™ 在 Nutshell书中的建议:
一般来说,如果出现以下情况,您应该考虑使用匿名类而不是本地类:
- 班级的身体很短。
- 只需要该类的一个实例。
- 该类在定义后立即使用。
- 类的名称不会使您的代码更容易理解。
但是,IMO 的问题在于,它onCreate
变得相当大,并且通过快速查看代码变得更复杂,难以阅读和理解。它仍然很容易理解,但是太大了。
那么在这种情况下有什么更好的做法 - 有一堆小的内部子类,每个子类都很好地分开,但只使用一次或更好地继续使用匿名类?