Java 类CircularQueue中的构造函数CircularQueue不能应用于给定类型
错误: 我理解这意味着我没有一个构造函数接受参数(Java 类CircularQueue中的构造函数CircularQueue不能应用于给定类型,java,class,oop,object,Java,Class,Oop,Object,错误: 我理解这意味着我没有一个构造函数接受参数(int),但在我的类中,我有: QueueTestHarness.java:19: error: constructor CircularQueue in class CircularQueue cannot be applied to given types; testC[1] = new CircularQueue(SIZE); ^ required: no argum
int
),但在我的类中,我有:
QueueTestHarness.java:19: error: constructor CircularQueue in class CircularQueue cannot be applied to given types;
testC[1] = new CircularQueue(SIZE);
^
required: no arguments
found: int
reason: actual and formal argument lists differ in length
2 errors
另外,CircularQueue
是Queue
的子类,下面是我的代码中的证明:
public Queue(int inMax)
{
queue = new Object[inMax];
int count = 0;
}
那么为什么会出现这个错误呢
注意:我也有一个默认的构造函数,它似乎工作得很好。都德,队列是一个接口,这意味着如果你想对类使用它(抽象),你必须使用
实现关键字
扩展
用于扩展类。。。但队列是一个接口
您的代码正在扩展队列,它是错误的
使用以下命令:
公共类CircularQueue实现队列
不要忘记实现所有队列方法或使类抽象化
还有一件事
您的CircularQueue构造函数错误
将其更改为:
public class CircularQueue extends Queue
你的错误是当你有一个带构造函数的类时。。。
构造函数的名称必须与类名相同
但在您的示例中,类名是CircularQueue
,但构造函数名是Queue
,但它与我的默认构造函数完美配合,它不接受任何参数?CircularQueue
没有接受int
的构造函数,因为超类有它。您必须显式地声明它,即循环队列(intinmax){super(inMax};}
。
public CircularQueue(int inMax)
{
queue = new Object[inMax];
int count = 0;
}