Java 为什么可以';构造函数中的全局变量和参数变量是否同名?

Java 为什么可以';构造函数中的全局变量和参数变量是否同名?,java,eclipse,Java,Eclipse,上述代码有效 public class ListNode { ListNode next; int data; ListNode (int data) { next = null; this.data = data; } 公共类节点实现位置{ 私人电子元件; 私有节点左、右、父节点; 公共节点(E元素、节点父节点、左节点、右节点){ } } 这个没有 我意识到这是因为构造函数不能包含泛型类型声明,或者不管它如何调用。不应该在构造函数中。问题在于声明中的参数E,因为它已经存在

上述代码有效

public class ListNode {
ListNode next;
int data;

ListNode (int data) {
    next = null;
    this.data = data;
}
公共类节点实现位置{
私人电子元件;
私有节点左、右、父节点;
公共节点(E元素、节点父节点、左节点、右节点){
}
}
这个没有


我意识到这是因为构造函数不能包含泛型类型声明,或者不管它如何调用。
不应该在构造函数中。

问题在于声明中的参数
E
,因为它已经存在于类型定义中,所以不需要它:

    public class Node<E> implements Position<E> {
    private E element;
    private Node<E> left, right, parent;

    public Node<E> (E element, Node<E> parent, Node<E> left, Node<E> right) {

    }
}
节点(E、节点父节点、节点左侧、节点右侧)

这个问题目前的措辞很难理解。请把导致错误的类的实际部分和确切的错误包括进来好吗?这太傻了。我刚刚意识到构造函数不能在其字段中包含泛型类型。抱歉浪费你们的时间,各位。我本来打算删除这篇文章,但将来可能会有其他人在记住Java基础知识时遇到类似问题。谢谢,在我发表文章后,我几乎立刻意识到了这个错误。
Node(E e, Node<E> parent, Node<E> left, Node<E> right)