【发布时间】:2011-07-07 18:31:47
【问题描述】:
我的所有活动都有一个基类 (ActivityBase),它本身派生自 android.app.Activity。在 onCreate 中,我想根据当前正在执行的子类执行一些条件逻辑。如果SomeCustomActivity 和AnotherCustomActivity 都继承了ActivityBase,如何在父类(ActivityBase)中确定当前执行的是哪一个?
【问题讨论】:
-
问题和标题不匹配。您根本不想要子类名称。相反,您想测试
this是否是特定子类的实例。 -
超类不也叫“父类”吗?我听说关系定义为 A 派生于 B - B 是父级,A 是子级。
-
是的,超类被称为父类,但你不需要具体知道子类的名称,只需要知道子类是哪个类的实例即可。跨度>
-
我很感激我弄错了语义,但我个人实际上想要这个名字。我想让我的活动以两种方式之一运行,所以我想在 BaseActivity 中声明一个活动列表并说“如果当前正在执行的活动是这个列表中的一个,则执行这个代码块”。我在想保留名称列表将是最干净的解决方案。我不需要所有的活动来实现它,因为它是同一件事(将是重复的代码)。我想我可以制作一个 List
或类似的东西,而不是比较名称。
标签: java android inheritance