【发布时间】:2020-07-22 04:01:22
【问题描述】:
我有一项任务要求我为我的所有其他类创建一个数据类作为“节点中心”,例如用于“馈送”的 LinkedList、Stack 和队列的类。我在 Data 类中创建构造函数来处理 LinkedList、Stack 和 Queue 类。在为队列实现构造函数之前,我没有遇到任何问题。在 Data 类的 Stack 部分中,我已经创建了一个公共 Data 构造函数,其中一个 int 作为构造函数中的参数。当我尝试使用 int 作为队列参数创建另一个公共 Data 构造函数时,我收到错误:Data(int) 已在 Data 中定义。这是我的堆栈代码:
/*
STACK WITH AN ARRAY
*/
int size; //initialize size
int stackArray[]; //initialize array
int top; //initialize top
public Data(int size) //constructor
{
this.size = size;
this.stackArray = new int[size];
this.top = -1;
}
这是我的队列代码:
/*
QUEUE WITH AN ARRAY
*/
public int Queue[]; //establish queue array and variables
public int front;
public int rear;
public int queueSize;
public int len;
public Data(int nQueue)//constructor
{
size =nQueue;
len = 0;
Queue = new int[size];
front = -1;
rear = -1;
}
如何解决这个问题,以便我可以拥有 2 个具有相同参数类型的构造函数?
【问题讨论】:
-
根据您对问题的描述,您的 Data 类应该是您的 LinkedList、Queue、Stack 等制作的,那么为什么需要多个构造函数呢, 为什么 Data 类需要知道它是在 Queue、Stack 还是 LinkedList 中?
标签: java constructor