我是一个Java新手,我正在try 实现一个类来封装一个诊所,并使用一个队列来确定下一个要治疗的患者.
在初始化类的一个实例时,我希望将一个分诊类型参数传递给构造函数,以决定诊所将如何 Select 下一个患者(先入先出,还是基于疾病的严重性).具体地说,我希望有一个单独的queue
类字段,它将是Queue
或PriorityQueue
,具体取决于triage参数.我很难弄清楚如何声明queue
字段.
public enum TriageType {
FIFO,
GRAVITY
}
public class Clinic {
public TriageType triageType;
// This code block doesn't work, but it's the kind
// of behavior that I want
if (triageType == TriageType.FIFO) {
Queue<Patient> queue = new LinkedList<>()
}
else {
PriorityQueue<Patient> queue = new PriorityQueue<>()
}
public Clinic(TriageType _triageType) {
this.triageType = _triageType;
}
}
有没有可能在不使用两个不同的类的情况下做到这一点?
非常感谢.