为什么eclipse默认会保护委托方法?

时间:2012-03-20 19:09:57

标签: android eclipse

在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

1 个答案:

答案 0 :(得分:2)

嗯,这是一个猜测,但如果受到保护,委托方法会更强大。受保护允许子类覆盖它,通过动态分派为将来的扩展提供接口。但是,如果它是私有的,那么你所要完成的只是移动一些代码。您也可以将方法的内容放在onClick

的正文中