Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类层次解_Java_Android_Design Patterns_Application Design - Fatal编程技术网

Java 类层次解

Java 类层次解,java,android,design-patterns,application-design,Java,Android,Design Patterns,Application Design,我有Activityclass、ListActivityclass、TabActivityclass。我希望使用相同的功能扩展这些类。例如,将方法添加到每个方法中。在Java中使用多重继承是不可能的 您能告诉我设计图案或其他解决方案来解决这个问题而不复制粘贴吗 谢谢 如果使用doSomething()方法定义自己的类DoSomethingHelper(可能是doSomething(Activity活动)),然后根据需要从所有活动中引用它,则可以减少复制粘贴。 我不知道有什么更好的解决办法。不清楚

我有
Activity
class、
ListActivity
class、
TabActivity
class。我希望使用相同的功能扩展这些类。例如,将方法
添加到每个方法中。在Java中使用多重继承是不可能的

您能告诉我设计图案或其他解决方案来解决这个问题而不复制粘贴吗


谢谢

如果使用
doSomething()
方法定义自己的类
DoSomethingHelper
(可能是
doSomething(Activity活动)
),然后根据需要从所有活动中引用它,则可以减少复制粘贴。
我不知道有什么更好的解决办法。

不清楚问题出在哪里。
ListActivity
TabActivity
是否源自
Activity
?如果是这样的话,把通用功能放在基类中。你是说Android标准的活动类吗?为什么要为它们中的每一个添加一个方法?不,Java中不允许多重继承。不,“代码重用”不是一个有效的动机。这就是实用程序类的用途。您需要创建My*Activity类,使用该方法声明
IDoSomethingable
,并将
toDoSomething()
功能委托给其他类。