簡體   English   中英

為什么在活動中繼承會導致活動功能不起作用

[英]Why inheritance in Activities makes activity function not work

我有2個活動類,一個是抽象類,它為其他具有相似行為的類提供了一種框架。 因此,可以說活動ActA是提供框架的父級,活動ActB是子級。

我的框架活動如下:

public class ActA extends Activity{
    @Override
    protected void onCreate(Bundle b){
        super.onCreate(b);
        // do stuff for setting up framework
    }
}

然后,我有一個兒童活動,如下所示:

public class ActB extends ActA{
    @Override
    public void onCreate(Bundle b){
        super.onCreate(b);
        // do other stuff
    }
}

do other stuff被注釋的代碼實際上並未被調用。 對我來說,看起來合法的是什么問題?

您可以嘗試其他方式

 public abstract class ActA extends Activity{
      @Override
      protected void onCreate(Bundle b){
          super.onCreate(b);
          // do stuff for setting up framework
         callForStuff();
      }


 protected abstract void callForStuff();

}

這樣就不必再次調用onCreate()方法了,只需要像

 public class ActB extends ActA{

    @Override
    protected void callForStuff(){
      // abstract method
    }
}

希望這個能對您有所幫助;

暫無
暫無

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

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