关于set的一个问题
HashMap map = new HashMap();
Set set = map.keySet();
在java中 Set是一个接口,为什么能够这样用?
接口不是只有被实现后才可以用吗?
------解决方案--------------------Set set = map.keySet();
map返回的是一个实现set接口的对象。这个对象实现了Set接口,就可以这样赋值。或者说叫向上转型也可以
就好比你写List a = new ArrayList();
list是接口,arrayList是实现list接口的对象。
------解决方案--------------------这是向上转型,实现了set接口就可以向上转型为set