gpt4 book ai didi

java - 设计 - 不允许的抽象静态方法的替代方案

转载 作者:行者123 更新时间:2023-12-01 14:44:18 25 4
gpt4 key购买 nike

我有一个抽象类,其中包含一个静态方法来检查字符串是否适合特定类型以及 AbstractType 的实现。如果字符串适合某种类型,则通过将字符串传递给构造函数来创建该类型类的对象。

不幸的是,不允许定义静态的抽象方法。谁能推荐一种设计替代方案?

提前致谢!

public abstract class AbstractType {

public abstract static boolean isOfThisType(String str); // not possible

...

}

public class TypeA extends AbstractType {

public static boolean isOfThisType(String str) {
...
}

...

}

public class TypeB extends AbstractType {

public static boolean isOfThisType(String str) {
...
}

...

}

最佳答案

是的,不要将其设为静态方法。如果需要多态,请勿将其设为静态。

由于所有类都将实现静态方法,因此每个类都会影响抽象方法的实现。为抽象类提供默认实现并让子类隐藏它。

关于java - 设计 - 不允许的抽象静态方法的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15604249/

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