gpt4 book ai didi

java - java中静态通用接口(interface)的替代方案

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

我想要做的是为几个类添加一个通用接口(interface),允许它们调用一个static 加载方法来使用数据库中的信息实例化对象。这应该允许它们在其他泛型类中使用,在我的例子中是“LoadAble”类的 ListModel。

问题:

  1. 必须在接口(interface)内定义静态方法
  2. 在实现类时不能覆盖静态接口(interface)方法
  3. 必须在调用非静态方法之前实例化一个对象
  4. 通用类型需要减速才能调用所需的方法。
  5. 抽象类不支持静态方法。

最佳答案

静态 方法不能实现接口(interface)方法。

您正在寻找的是 Factory Pattern ,即具有“创建”方法和多个实现(工厂)的接口(interface)。

如果你想把这个逻辑放在一起,你可以将工厂实现为静态嵌套类:

public interface Factory {
public Object create();
}
public class MyClass {
public static class MyFactory implements Factory {
@Override
public Object create() {
return new MyClass();
}
}
private MyClass() {
}
}

现在你可以使用它了:

Factory factory = new MyClass.MyFactory();
Object obj = factory.create();

关于java - java中静态通用接口(interface)的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537396/

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