gpt4 book ai didi

java - 避免在两个已经扩展的类中重复方法,在 Java 中实现公共(public)接口(interface)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:55 26 4
gpt4 key购买 nike

我在一次 java 面试中被问到这个问题,但我在任何地方都找不到答案。

X Y
| |
A B

Interface I{
m1();
}

A 类和 B 类分别是 X 类和 Y 类的扩展。

X 和 Y 无法更改。 A 和 B 实现接口(interface) I,方法 m1() 在两者中具有相同的定义。

如何避免编写重复代码。

不能使用 Java 8,因为我们可以在 java-8 接口(interface)中定义方法。

提前致谢。

最佳答案

这是一个可怕的问题,但解决这个问题的一个好方法是在 A.javaB 中创建一个静态方法(它拥有 m1 的功能)。 java,并在 A#m1B#m1 中调用该方法。

这比必须创建另一个类要简单得多。

A.java

@Override
public void m1() {
methodHelper();
}

public static void methodHelper() {
// Code goes here.
}

B.java

@Override
public void m1() {
A.methodHelper();
}

关于java - 避免在两个已经扩展的类中重复方法,在 Java 中实现公共(public)接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43313495/

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