抽象泛型类中的静态变量

时间:2021-01-03 09:06:51

标签: java generics abstract-class

我想为抽象通用类的每个实现实现一个静态变量。 例如,我有课...

public abstract class A<T>{
   ...
}

...以及 A...的一些实现...

public class Imp1 extends A<Imp1>{
   static Imp1 myVar;
   ...
}
public class Imp2 extends A<Imp2>{
   static Imp2 myVar;
   ...
}
...

抽象类 A 中是否有任何关键字来实现 Typ T 的 myVar?如果我将它实现为一个静态变量,它会给出一个 TypeError,因为静态在抽象类中不能有类型 T。如果我将它作为一个抽象来实现,我就不能从像 Imp1.myVar 这样的静态上下文中调用它......我不认为这是 this Question 的重复,尽管我不得不承认我没有明白了。

--编辑--
既然有人指出这可能是 XY 问题,而答案似乎是我的方法无法实施,我将尝试将问题描述为一个整体并尝试找出应该如何解决.也许这会帮助人们在遇到同样的问题时重构他们的代码。
我用几种方法(加、乘、除等)为我自己的数据类型“Polynom”(主要是为了练习和娱乐)编写了一个类。它主要基于双精度系数列表。现在,我想更改它,以便可以使用通用数据类型。我用所有必需的方法(加法、比较、乘法、计算逆等)实现了一个抽象类。其中之一是,数据类型具有“中性元素”,该元素对加法/乘法没有影响。例如,如果你实现实数,中性元素应该是 1 和 0。这就是我纠结的点。目前我将神经元素实现为多项式类的参数,但我想编写其他也使用泛型的数据类型,并且不想每次都将它们添加为参数,因为它们并不真正属于那里。我希望这有点可以理解,如果不是,我很乐意进一步更新问题。

0 个答案:

没有答案
相关问题