gpt4 book ai didi

java - 如何实现抽象子类继承的方法?

转载 作者:太空宇宙 更新时间:2023-11-04 12:43:01 26 4
gpt4 key购买 nike

使用 Java 工作。

我定义了几个不同的抽象类,每个抽象类都有一个名为 aCommonMethod 的静态方法。每个方法还有一个依赖方法,该方法本身调用 CommonMethod,如下所示:

public abstract class SomeAbstractClass{
public static void aCommonMethod() {
// does something
}

public static void someDependentMethod() {
//some stuff
aCommonMethod()
//some more stuff
}
}

方法 someDependentMethod 对于我的每个抽象类来说都是相同的,除了通过调用 CommonMethod 来调用的方法之外。

在 Java 中实现这个的惯用方法是什么?到目前为止,除了将 aCommonMethod 方法实际复制到每个抽象类中之外,我找不到任何有效的方法。显然,最好在某个地方只编写一次该方法,然后让我的抽象类以某种方式继承它。我找不到任何方法在 Java 中做到这一点。

最佳答案

首先,你不能重写静态方法,如果你希望不同的类有不同的行为,可能需要 template pattern .

示例:

public abstract class SomeAbstractClass{
public abstract void aCommonMethod();

public void someDependentMethod() {
//some stuff
aCommonMethod();
//some more stuff
}
}

public abstract class SomeClass{
public void aCommonMethod() {
// Do your thing
}
}

public abstract class SomeOtherClass{
public void aCommonMethod() {
// Do your thing
}
}

new SomeClass().someDependentMethod();
new SomeOtherClass().someDependentMethod();

关于java - 如何实现抽象子类继承的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36631986/

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