最近反思到一个问题,大部分情况下我们设计BaseActivity完成Activity的通用逻辑,都是错误的设计,因为我们根本不需要把BaseActivity向上转型成Activity。如果有人认为我走进死胡同了,能不能指点一下我错在哪了?下面这段知识我也不是新学的,实践了很长时间,肯定是没问题的。我是觉得我们没有“好好考虑是否需要继承”,就决定BaseActivity继承Activity了。

到底是该用组合还是用继承,一个最清晰的判断办法就是问一问自己是否需要从新类向基类进行向上转型。如果必须向上转型,则继承是必要的;但如果不需要,则应当好好考虑自己是否需要继承。——《Java编程思想》第4版,7.7.2 再论组合与继承
展开
11