我们都知道,Android开发首先会接触的是活动,即Activity
public class Activity
但我们在代码中,用到的类并不是Activity,是其子类
比如在Android系统8.0版本中,用的是AppCompatActivity
public class AppCompatActivity extends FragmentActivity
可以看到AppCompatActivity的父类并不是Activity
那它们Activity、FragmentActivity、AppCompatActivity三者是什么关系呢?
Activity是FragmentActivity的直接父类吗?
带着这些问题,本文来分析Activity的继承树,来分析每一代继承,子类会比父类多了哪些方法
public class AppCompatActivity extends FragmentActivity
public class FragmentActivity extends BaseFragmentActivityApi16
abstract class BaseFragmentActivityApi16 extends BaseFragmentActivityApi14
abstract class BaseFragmentActivityApi14 extends SupportActivity
public class SupportActivity extends Activity
public class Activity extends ContextThemeWrapper
由上类的定义代码来看,Activity的继承过程是
Activity→SupportActivity→BaseFragmentActivityApi14→BaseFragmentActivityApi16
→FragmentActivity→AppCompatActivity