我的任务是编写有关花店的程序。我必须创建一个类PriceList,这是一个单例。我还具有以下给定的测试功能main:
public static void main(String[] args) {
PriceList pl = PriceList.getInstance();
pl.put("rose", 10.0);
pl.put("lilac", 12.0);
pl.put("peony", 8.0);
通过查看这些pl.puts(),我决定在PriceList类中实现Map接口,但是当我只有一个此类的对象并且必须是Map时,我不知道该怎么做。我已经写了那么多,不知道下一步该怎么做:
public class PriceList <String, Double> implements Map <String, Double> {
private static PriceList instance = null;
protected PriceList() {}
public static PriceList getInstance() {
if (instance == null)
instance = new PriceList();
return instance;
}
public void put(String string, double d) {
// TODO Auto-generated method stub
}}
在此先感谢您的帮助!
最佳答案
您的辛格尔顿是正确的!您可以在类内创建Map属性,然后将put方法委托给maps的put方法,而不是实现map接口。举个例子:
public class PriceList{
private Map<String, Double> map = new HashMap<String, Double>();
private static PriceList instance = null;
private PriceList() {}
public static PriceList getInstance() {
if (instance == null)
instance = new PriceList();
return instance;
}
public void put(String string, double d) {
map.put(string,double);
}
}