先看下面代码,会出现什么情况呢?
public class HelloActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
baiduMap.addHearMap(null);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
学过java基础的都知道,上面代码会出现空指针问题,原因是MapView类还没被初始化就被调用了,应在父类onCreate()方法初始化,怎么解决这个问题呢?
1、首先在其父类将onCreate方法设置为final,表示该方法不能被重写
2、在父类创建initial()方法,设置为抽象abstact方法,让子类实现。
//让子类实现
public abstract void init();
3、继承父类,并实现父类的方法在里面进行调用