用接口来拓展功能的意义在哪?实现接口要复写接口的方法,为什么不直接在类中定义拓展功能的方法呢

解决方案 »

  1.   

    接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。就像你问的,都有个method1的方法,如果我用接口,我上面就可以one.method1();是吧?那样我new a();就是用a的方法,new b()就是用b的方法
    这样不方便吗?
    这个就叫统一访问,因为你实现这个接口的类的方法名相同,但是实现内容不同
    我用接口来定义对象不就可以做到统一访问了吗?接口主要针对多个类实现它来说的,要是只有一个类当然可以不用接口了.你这样想,我做一个USB接口,有个read()抽象方法,然后mp3类实现,U盘类实现,移动硬盘类实现,这样我用的时候用USB a=new 【类名】;这样a.read();要是我类名里写U盘,就读U盘,写mp3就读mp3,而这个名字可以从属性文件里读,你写哪个就用哪个了,呵呵。
      

  2.   

    使用接口的核心原因:为了能够向上转型为多个基类型(以及以此带来的灵活性)
    第二个原因:防止客户端程序员创建该类的对象
    前面是摘自THINKING IN JAVA的
    使用接口的好处主要还是要自己写代码体会。。
      

  3.   

    这就是OOP的思想啊,底层定义了规范,上层来负责实现,打个比方说,jdbc中就是定义了数据库操作的接口,然后不同的数据库服务厂商实现不同的数据库操作,就是这个道理。
      

  4.   

    补充下, JAVA中想要多重继承的话只能用接口, 不像C++
      

  5.   

    定义了一个接口可以有多种不同的实现,比如一个USB接口可以充电,可以插内存卡,可以插鼠标。另外还有一种规范接口,只要实现接口,就要实现里面的方法。java中接口可以多继承,这个值得注意一下。
      

  6.   

    接口是为了减少类与类之间的耦合性,同时,也可以看成一种标准,每一个继承于他的类都要遵守这个接口定义的规则,标准。为什么叫做接口而不叫其它的名字,比如USB接口就是一种标准,同样,java中的接口也是这个意思。当然了也可以看成一种模板也不是错误的。
      

  7.   

    哈哈.解耦用得...CSDN里真心有牛人