当前位置: 首页 > 面试题库 >

Java继承:在Java中不允许的情况下,如何实现类似于“多重继承”的功能?

宗政坚白
2023-03-14
问题内容

这主要是关于Java继承的问题。我正在开发一个有2个窗口的程序,这两个窗口将在单独的类中开发,这将扩展JPanel。第一类是“
FileSub1”,第二类是“ FileSub2”。

这两个类共有许多方法,因此我想创建一个名为“ Files”的类,并将“ FileSub1”和“
FileSub2”作为其子类。但是Java不支持多重继承!我在这里可以做什么?


问题答案:

我不明白为什么您需要多重继承。据我所知,使用抽象类实现通用方法应该没问题:

public abstract class AbstractFilePanel extends JPanel
{
    public void commonMethod1() {}
}

public class FileSub1 extends AbstractFilePanel 
{
    public void sub1Method() {}
}

public class FileSub2 extends AbstractFilePanel 
{
    public void sub2Method() {}
}


 类似资料:
  • 例如:案例1:我们创建的每个Java类是否都将扩展类,如果是这样,那么为什么我们能够扩展一个类到我们的类可能是愚蠢的问题,刚刚记住了,我发布这个问题

  • 问题内容: 为了完全理解如何解决Java的多重继承问题,我有一个经典的问题需要澄清。 可以说我有类此有子类和我需要做一个类,从扩展和自既是一只鸟和一匹马。 我认为这是经典的钻石问题。从我能理解经典的方式来解决,这是使,和类接口,并实现从他们。 我想知道是否还有另一种方法可以解决仍然可以为鸟和马创建对象的问题。如果有一种能够创造动物的方法,那也很棒,但不是必须的。 问题答案: 你可以为动物类(生物学

  • 假设我有类,它有子类和,我需要创建一个类,它扩展自和,因为既是鸟也是马。 我想这就是经典的钻石问题。据我所知,解决这个问题的经典方法是将、和类作为接口,并从它们实现。 我想知道是否有另一种方法来解决这个问题,在这个方法中,我仍然可以为鸟和马创建对象。如果有一种方法也能创造动物,那将是伟大的,但不是必要的。

  • 问题内容: 我知道Java和C#中不允许多重继承。许多书只是说,不允许多重继承。但是可以通过使用接口来实现。没有任何关于为什么不允许它的讨论。谁能确切告诉我为什么不允许这样做? 问题答案: 简短的答案是:因为语言设计师决定不这样做。 基本上,.NET和Java设计器似乎都不允许多重继承,因为他们认为添加MI会增加语言的复杂性,而带来的好处却很少。 要获得更有趣和深入的阅读,Web上提供了一些文章,

  • 我试图弄清楚Java中的继承和数组,并试图让这些类一起工作。我相信我已经继承下来了,但我仍在为数组部分而挣扎。 有三个文件: 1. Person.java-基类2. Student.java-派生的Person.java3. Family.java-不太确定,我认为这是它自己的基类 人java有两个实例变量,String name和int age,以及各种各样的构造函数toString、equal

  • 我一直在做一个基本的类继承练习,尽管我认为我已经掌握了它的jist,但我的程序并没有按应有的方式工作。我遇到了编译错误,但还没有弄清楚原因——如果你们都能在这里帮助我,那就太好了。 首先,这里有三个文件1。人java——基类2。大学生java——一个派生的Person类。java 3。家庭java——不太确定,我认为它是自己的基类 人java有两个实例变量,String name和int age,