gpt4 book ai didi

java - 继承两个Java类

转载 作者:行者123 更新时间:2023-12-02 16:16:10 24 4
gpt4 key购买 nike

我知道Java禁止从多个类继承并允许实现任意数量的接口(interface)。然而,虽然接口(interface)有利于多态性,但它们不能包含其子类可能想要共享的任何实际代码。如果我有两个不同的父类(super class),它们具有我想要在子类中使用的共享代码,该怎么办?

示例:在我的程序中,有两个父类(super class),一个与 HashMap 一起使用,一个与 Strings 一起使用,并且两者都有直接子类,并且一切都很好。但现在我有第三个需要两个父类(super class)的共享功能,但它只能扩展一个。有没有一种简单的方法可以重新设计这个类结构而不必重复大量代码?

最佳答案

使用委托(delegate)而不是继承:

public class Third implements FirstInterface, SecondInterface {
private First first;
private Second second;

public void foo() {
first.foo();
}

public String bar() {
return second.bar();
}
}

关于java - 继承两个Java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6630152/

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