Android Java应用程序:扩展两个类(漫游)

Android Java应用程序:扩展两个类(漫游),java,android,imageview,glsurfaceview,Java,Android,Imageview,Glsurfaceview,我有两个类,ImageMap,extending ImageView和PageView extending GLSurfaceView,我使用ImageMap主要在Drawable上有热点,但我还需要添加一个页面翻转/卷曲动画,为了做到这一点,我需要这两个类作为一个对象,知道如何做到吗 我完全清楚,java中不允许多重继承。你的问题不是关于Android;这是关于Java的 Java不允许多重继承 你的推理在以下方面不准确: 为了做到这一点,我需要这两个类作为一个对象 事实并非如此。例如,“活动

我有两个类,ImageMap,extending ImageView和PageView extending GLSurfaceView,我使用ImageMap主要在Drawable上有热点,但我还需要添加一个页面翻转/卷曲动画,为了做到这一点,我需要这两个类作为一个对象,知道如何做到吗


我完全清楚,java中不允许多重继承。

你的问题不是关于Android;这是关于Java的

Java不允许多重继承

你的推理在以下方面不准确:

为了做到这一点,我需要这两个类作为一个对象


事实并非如此。例如,“活动”不一定是事件处理程序;如果您的“活动”可以有一个事件处理程序,例如作为可以访问活动变量的内部类,这就足够了。

没有办法真正扩展两个类。您可以做的是:

  • 创建一个包装器对象,它保存每个对象的一个实例。只需执行
    这个.ImageMap.filed1
    等等。这在开发类时更方便。这还允许您代理方法调用
  • 您定义了应该实现的接口,并创建了一个新类来实现这两个接口。这仅适用于使用该类来拥有接口的类,而不真正关心实现

  • 您可能需要这两件事,因为第一件是关于“如何做”,第二件是关于“如何向使用它的对象呈现它”.

    不确定,但我认为您应该直接在ImageMap中实现
    SurfaceHolder.Callback
    ,而不是在PageView中扩展GLSurfaceView。在java中,您不能扩展超过1个类,但您可以实现许多interfacesJava,多重继承是不可能的。您必须从一个类继承并自己实现另一个类的方法。你能做的就是实现多个接口。对不起@Bathsheba,但你到底为什么要删除多重继承标签?这是一个关于多重继承的问题,远不止是一个关于Andoid的问题。Java和多重继承就像粉笔和奶酪:它们不会混合在一起。但我不会为此而失眠:我相信我的编辑(这是审查新用户编辑的结果)增加了OP吸引答案的可能性。我知道多重继承是不允许的,两个类都在扩展其他类以完成任务,两个类都能够以不同的方式显示可绘制内容,我需要显示drawble,并在一个视图中同时具有两个类的特性,底线是我需要该视图具有图像映射和页面卷曲效果。谢谢。@AlKafriFiras我把你的问题搞错了,对不起。你想要的是结合两个不同的
    视图
    对象的功能,没关系,是的,这正是我需要的。