1,接口可以多继承。
2,接口可以添加公共的属性。
3,impl 方法被隐藏,让调用者清晰的看到方法和参数。
4,一个接口可以,可以多个实现。
exp:List list1 = new ArrayList();
List list2 = new LinkList(); (ArrayList 与 LinkList 都实现了 List接口)。
在实际应用中给我们带来的便利是。
exp:
假设 UserDao 是个接口类,insertUser() 是 UserDao 接口中的一个抽象方法,UserHibernateDao 与 UserJdbcDao 是 UserDao 的两个实现类。
假设daofactory.getDao();返回的可能是 UserHibernateDao类,或 UserJdbcDao类。
此时下列代码中的 insertUser(); 方法可能是 UserHibernateDao 实现的,也可能是UserJdbcDao实现的。
UserDao userDao = daofactory.getDao(); (此处可能返回 new UserHibernateDao/new UserJdbcDao)。
userDao.insertUser(user);