我有一个作业,要求我使用工厂模式来实现不变的数据结构,但是问题是抽象类是泛型的,而让静态方法引用泛型类型给我带来了问题。我的作业要求我使用静态方法,因此我开始感到恐慌。任何帮助/建议吗?
EDIT添加了一些示例代码,这是教授给我们提供的一种方法的规范
签名:

ExampleClass.method1:ExampleClass,T-> ExampleClass

ExampleClass.method2:ExampleClass-> T

public abstract class ExampleClass<T>{

   //static method creates a new subclass of Example ("Push" method)
   public static Class method1(T x, ExampleClass c){
       return new method1(x, f);
    }

   //Supposed to return an object type T ("pop" method)
   public static T method2(ExampleClass c){
       return c.method2Dynamic();
   }


我喜欢的两种方法都给我带来了日食方面的问题。

最佳答案

我不知道您实际上想做什么,但是让我们假设问题是您只是在寻找正确的语法:

public class ExampleClass<T> {
    public static <T> Class<T> method1(T x, ExampleClass<T> c) {
        return c.method3(x);
    }
    public static <T> T method2(ExampleClass<T> c) {
        return c.method2Dynamic();
    }
    private Class<T> method3(T x) {
        return null;
    }
    private T method2Dynamic() {
        return null;
    }
}

10-04 21:11