
Set<String> setStr=new HashSet<String>()
Set<String>setStr=newHashSet<String>();SetStr是HashSet()为什么还要声明为Set?这样做有声明好处?说明了接口的什么特...
Set<String> setStr=new HashSet<String>();SetStr是HashSet()为什么还要声明为Set?这样做有声明好处?说明了接口的什么特性?
展开
4个回答
展开全部
这是java对态的一种表现,有时候可能不知道子类需要何种类型而声明一个接口.以后类似Set<String> setStr=new HashSet<String>();这种声明 其实SetStr是HashSet类型(虽然声明时为Set,但JVM运行时回自动把他转化为HashSet类型的),这种做法就更能体现接口的意义了.
展开全部
HashSet 是实现了set接口的。当然可以直接new hashset。
这样声明有灵活性,当你不想用hashset的时候,想用treeset的时候直接改下new类型就可以了。方便编程,所谓的接口编程。
这样声明有灵活性,当你不想用hashset的时候,想用treeset的时候直接改下new类型就可以了。方便编程,所谓的接口编程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
利用接口编程,实现多态,这是java一大优点和优势,在其他方法中如需要用set的参数,就不用写hashset,同时treeset等set的实现都可以传进去的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没区别.
这样做的好处是你可以:
setStr = new java.util.TreeSet();
这样做的好处是你可以:
setStr = new java.util.TreeSet();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询