只是想知道为什么构造函数中的类名后面不允许类型参数。我的意思是这背后的原因是什么。是否因为类型参数已经在类 header 中定义,因此将其放在构造函数中没有意义?
Class A <E> {
public E e;
A <E> {
}
}
只是好奇
最佳答案
您可以使用与方法相同的语法来定义构造函数的类型参数。
但是,重要的是要认识到这是一个 new 类型参数,仅在构造函数执行期间可见;如果它碰巧与类上的类型参数同名,它将在更大的范围内隐藏该参数。
class Foo<T>
{
<T> Foo(T bar) /* This "T" hides the "T" at the class level. */
{
...
关于Java 泛型 .. 构造函数 header 中的类名后面不允许输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716701/