Java 泛型 .. 构造函数 header 中的类名后面不允许输入参数

标签 java

只是想知道为什么构造函数中的类名后面不允许类型参数。我的意思是这背后的原因是什么。是否因为类型参数已经在类 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/

相关文章:

java - 无法在 onItemClickListener 中获取项目

java - 为什么 Java 不优化 |= 赋值?

java - 将 ID 列表与其对应的对象进行匹配

java - 使用 javax.swing.ProgressMonitor 时如何禁用取消按钮?

java - System.exit() 可以用于哨兵值吗?

java - 如何在运行时根据后端参数获取枚举文件名?

java - 如何使用 JPA 将 BigInteger 存储在 H2/PSQL 数据库中?

Java - 从 jar 中删除 META-INF 不起作用

java - 使用命令行执行类时出现异常

java - 图形用户界面