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)