java集合框架listhashset

HashSet h1=new LinkedHashSet();这句话与
LinkedHashSet h1=new LinkedHashSet();相同吗?
明明是hashset类型的对象,运行效果却和linkedhashset效果一样,都是有序的

LinkedHashSet是HashSet 的一个子类,可以按照向上转型进行理解。上面两个语句是不相同的,h1对象只能调用LinkedHashSet中与HashSet
相同的方法,h1指向LinkedHashSet。当调用方法时调用的是LinkedHashSet中的方法。即LinkedHashSet重写HashSet 方法。LinkedHashSet
新添的方法,h1是不能够调用的。另外h1只能调用HashSet中的属性。可以按照子类转向父类的特性来进行理解。