Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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_Class_Inheritance - Fatal编程技术网

如何使一个Java类扩展另外两个类?

如何使一个Java类扩展另外两个类?,java,class,inheritance,Java,Class,Inheritance,在我的程序中,我已经在扩展类Applet,但我还想使用在另一个类中定义的方法。我知道我不能同时扩展两个类,有没有办法解决这个问题? 我需要能够这样做才能继续,谢谢 这是我的密码: import java.applet.Applet; import java.awt.*; import java.awt.Graphics; public class Grape extends Applet /* I want to extend another class here */{ publi

在我的程序中,我已经在扩展类Applet,但我还想使用在另一个类中定义的方法。我知道我不能同时扩展两个类,有没有办法解决这个问题? 我需要能够这样做才能继续,谢谢

这是我的密码:

import java.applet.Applet;
import java.awt.*;
import java.awt.Graphics;

public class Grape extends Applet /* I want to extend another class here */{

    public void paint (Graphics page) 
    {
        final int MID = 150;
        final int TOP = 50;

        setBackground (Color.WHITE);

        page.drawLine (60, 60, 750, 60); //Line
        page.drawString("X discplacement = " + xDisplacement , 30, 30);



    }

}

您可以让其他类扩展Applet,然后让“Grape”扩展其他类。但当然,这并不是你有时需要的


您还可以在Grape中存储另一个类的实例。但这也不能完全解决问题。

因为钻石问题。 Java通过对类执行单一继承来避免菱形问题

JAVA省略了许多很少使用、理解力差、容易混淆的特性 在我们的经验中,C++带来的痛苦比比恩的多。这 主要由运算符重载组成(尽管它有 方法重载)、多重继承和扩展自动 胁迫

--詹姆斯·戈斯林,关于钻石问题

请访问以下链接以了解有关此问题的更多信息

同样的问题,我的答覆如下:

外部链接:-

[编辑]

如何在Java中实现多重继承?
接口


Java允许对接口进行多重继承。

首先:您的问题的标题是“未引导”。请为您的问题选择一个更好的标题

第二:通过引用其他类,可以将它们的功能注入到“Grape”类中


有时,重新设计类、它们之间的关系以及重新设计应用程序的流程,可以更方便地解决问题

您可以创建该类的对象来访问这些方法。如果您不“需要它继续”,则可能会重复No。java中没有多重继承(其他一些语言中也没有)。与其希望不存在,不如使用授权/组合,并继续取得进展。在你浪费时间要求不可能的事情时,你可能已经实现了解决方案。你可能想使用
接口
,它们的工作方式类似于超类,但不提供方法或变量值的默认实现。