我看了四周,似乎我有正确的语法:
QueueOfChars queue = new QueueOfChars();
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();
但是我尝试创建的charNode对象出现了编译错误
Driver3.java:22:错误:类
中的构造函数QueueOfCharsNode QueueOfChars.QueueOfCharsNode不能应用于给定类型;
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();
要求:char
发现:没有争论的理由:实际 和形式参数列表长度不同
1错误
收到此错误是因为我有一个QueueOfCharsNode(char ch)
public class QueueOfChars{
public class QueueOfCharsNode{
QueueOfCharsNode next;
QueueOfCharsNode prev;
char c;
public QueueOfCharsNode(char ch){ //line causing the error
c = ch;
next = prev = null;
}
当我为它制作对象时,如何才能读取“公共类QueueOfCharsNode”行?
答案 0 :(得分:5)
您缺少一个无参数构造函数。
您需要一个构造函数声明,如下所示:
public QueueOfCharsNode() { }
在QueueOfCharsNode
课程中。
答案 1 :(得分:1)
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();
你的内部类QueueOfCharsNode在其构造函数中需要char asan参数。 试试
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode('c');//some character that you wanna pass
或在内部类中创建一个no-args构造函数,如。
public UueueOfCharsNode() {
}
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();
在这种情况下会起作用