簡體   English   中英

何時在匿名類中創建方法

[英]When to create a method inside anonymous class

在下面的代碼中,我創建了按鈕偵聽器,當嘗試創建on() eclipse方法時on()建議將其創建為OnClickListenerOnClickListener一部分。

在兩種情況下創建方法on()的區別是什么?為什么要對其進行protected

代碼

private OnClickListener btnListenerOn = new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        on();
    }
};
@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    Log.w(TAG, "@onStart.");
}

protected void on() {
    // TODO Auto-generated method stub

}

封裝是一個概念,應該使您對方法的放置位置有所了解。 封裝可幫助您將實現細節隱藏在最有限的范圍內,以便例如在需要更改實現時可以防止連鎖反應

在您的情況下,由於您可能不需要從OnClickListener任何其他位置調用on()方法,因此這是放置它的正確位置。

在那種情況下, on()方法應該是私有的,因為您將永遠不會擴展匿名的OnClickListener類。 如果您的偵聽器不是匿名的,則可能需要聲明該方法為受保護的方法,以便可以覆蓋子類中的實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM