在Eclipse中,在Android项目中,如果我键入类似:
void onCreate(Bundle bundle) {
mButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
handleClick();
});
}
然后Eclipse建议为我添加handleClick()
实现,为我提供两个选择:OnClickListener
或封闭的Activity
。
因此,如果我告诉Eclipse在Activity中实现handleClick()
,它会使handleClick()
成为protected
方法。
我想知道为什么不private
,背后的理由是什么,为什么会protected
?
答案 0 :(得分:2)
嗯,这是一个猜测,但如果受到保护,委托方法会更强大。受保护允许子类覆盖它,通过动态分派为将来的扩展提供接口。但是,如果它是私有的,那么你所要完成的只是移动一些代码。您也可以将方法的内容放在onClick