我想问使用匿名类与命名内部类的良好实践是什么?
我正在编写一个 Android 应用程序,其中包含许多 UI 元素(按钮、文本字段等)。对于他们中的许多人来说,我需要某种听众,所以onCreate
在应用程序中,我有一堆非常小的匿名类,例如:
someButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
// do something...
}
}
);
每个这样的匿名类都是 5 - 20 行,大小足够小,非常适合来自Java™ 简介 book:
一般来说,如果出现以下情况,您应该考虑使用匿名类而不是本地类:
- 班级体形很短。
- 仅需要该类的一个实例。
- 该类在定义后立即使用。
- 类的名称并不会让您的代码更容易理解。
但问题是,我认为onCreate
变得相当大,并且通过快速查看代码变得更加难以阅读和理解。它仍然很容易理解,但太大了。
那么在这种情况下更好的做法是什么 - 有一堆小的内部子类,其中每个子类都很好地分开,但只使用一次,或者更好地继续使用匿名类?
我认为无论哪种方式都没有明确的答案。两种风格都很好用,这正是您喜欢的。
另一种选择是
每个 onClick 的内容都通过单个函数调用来实现,这将使匿名类非常简短。 IE:
someButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
doSomeButtonClick();
}
}
);
private void doSomeButtonClick() {
// do something
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)