counter
counter

接口的实例对象与类(实现该接口)的对象关系

1.接口A,一个类B实现了这个接口,A obj=new B(); 而不用B obj=new B(); 第一种定义的方式有什么特别之处吗?

答:

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

List list = new LinkedList();
这就互换了啊 ArrayList 是数组。LinkedList是链表 但是 不需要更改其他的代码。

接口对象的实例化必须用实现它的类来实例化,而不能用接口本身实 
例化。
posted @ 2013-02-04 11:07  bfy  阅读(671)  评论(0编辑  收藏  举报