【发布时间】:2014-06-26 15:39:25
【问题描述】:
自从我开始学习泛型以来,我对实例创建有点困惑,因为我意识到,例如,你可以像这样创建一个 HashMap,
HashMap hashmap = new HashMap();
还有,
HashMap<String,String> hashmap = new HashMap<String, String>();
虽然我也可以像这样声明实例 hashmap,因为 HashMap 是从 Map Interface 实现的
Map<String,String> hashmap = new HashMap<String, String>();
但是如果上面是真的,那么我也可以这样创建ArrayList的实例,对吗?
List<String> arraylist = new ArrayList<String>();
还有,自定义一个怎么样,假设类 Walk 从接口 Move 实现,以便创建 Walk 的实例对象,我可以使用两者的代码,
Walk walk = new Walk();
Move walk = new Walk();
而且这些不会引起问题,这两个声明是一样的吗?实现是启用该功能的关键特性吗?例如,从另一个类扩展的类,从父类扩展的子类,那么这是合法的吗?
Father son = new Son();
【问题讨论】:
标签: java inheritance implementation