Why InterfaceWhy Interface writing generic algorithm (泛型编程)hiding implementation detail (隐藏具体实现))providing interception points (提供拦截端点)