Set接口名实例化的问题

来源:3-6 宠物猫信息管理概述

danmillman

2018-10-27 11:40:51

我注意到老师在实例化时候使用了接口名Set的实例化方法
Set set =new HashSet();
为什么不使用下面的实例化方法
HashSet set = new HashSet();
 
用接口名引用 创建的对象,应该是没法调用 实现类自有的方法的。
这种 : 接口名 引用 = new 实现类 的实例化方法有什么优势吗?

写回答

1回答

irista23

2018-10-27

一般是创建Set类型的引用,指向创建的HashSet对象,其实就是用接口引用指向实现类的对象。这种定义方法是Java多态的表现,便于程序代码的重构。原因是用Set有多个实现类,程序需求有变要改成其他实现类,这时你只要改变这一行就行了:Set set = new TreeSet(); 其它使用了set地方的代码根本不需要改动。

0

0 学习 · 7235 问题

查看课程