[英]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.