这是为了实现 动态互换因为有一天你一个类C 实现了A 你不想再使用B 了。那么你只是需要 修改一下就行 A a =new C();而不必去到处更改B 的类型。而且这也是Java设计原则中的一个。依赖抽象不依赖具体。就那一个最常见的例子,你就知道了。List list =new ArrayLIst(); List list = new LinkedList();这就互换了啊 ArrayList 是数组。LinkedList是链表 但是 不需要更改其他的代码。