gpt4 book ai didi

java - 所有 Activity 的 BaseActivity,可能吗?

转载 作者:行者123 更新时间:2023-11-29 09:54:14 25 4
gpt4 key购买 nike

我想在 Activity 之间共享一些方法和属性。例如

public class BaseActivity extends Activity

将成为另一个 Activity 的 parent

public class MainActivity extends BaseActivity

但是如果子 Activity 是例如ListActivity 这个不可能吧?我是否也需要 ListActivity 的基类?这将是冗余代码。

我可以将 ListActivity 转换为 Activity,但这会需要更多代码。

有什么建议吗?

最佳答案

是的,你是对的。由于java不支持多重继承,一个类只能有一个基类。

但是您可以通过委托(delegate)而不是继承来工作:将您的方法放入一个单独的类(它不继承 Activity)并在您的 Activity 中使用它的实例。然后您可以将冗余代码(创建和持有实例)减少到最少。

另见:

http://sourcemaking.com/refactoring/replace-inheritance-with-delegation

How do I implement multiple inheritence in Java

关于java - 所有 Activity 的 BaseActivity,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20051637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com