java中定义接口去实现多继承,但是接口中全是虚函数,还有在继承的类中实现,那么直接在类中定义接口中的函数并实现不是更方便吗?望高手解答疑惑。

解决方案 »

  1.   

    1,java中没有多重继承 但是可以实现多个接口
    2,你说的那样实现方式也可以,但是太笨重了,可扩展性太差,要面向抽象编程
      

  2.   

    如果你想实现a类和b类的功能,当然你可以把a和b的功能写到一个类里调用,但是很麻烦。而继承只能从a或者b中继承一个,所以要用接口,你可以继承a并且实现b的接口...
      

  3.   

    接口的用途很广,其中之一是可以实现多继承,但这不是更重要的。我想你还没有学过Spring这个框架,他的核心理念是IOC,就是面向接口编程。那么面向接口编程带来了什么呢?就是解耦,松耦合,我们在程序中只调用接口,但Spring通过配置文件给我们注入了此接口的实现类(这个实现类也是我们自己写的),那我们为什么不直接调用这个实现类呢??打个比方吧,我有一个接口,里面声名了几个方法,是用来从数据库中取数的,客户说要用JDBC联接数据库,过两天又说用HIBERNATE取数,我们不可能天天改代码,那么我们怎么办呢?我们先实现这个接口,里面用JDBC实现,过两天客户说用hibernate了,我们再写个类实现这个接口,客户再过两天说还是用JDBC吧,我们什么也不用做,改一下配置文件就行了。而前面调用者只能看见接口,后面的实现是看不到的,你爱是JDBC还是hibernate,关我做么事!!
    其实JAVA里的Connection Statement等用于联接的类我们只要用就行了 ,具体的实现是在我们用的数据库所提供的JAR包里实现的,(我们用JAVA连数据库加载相关JAR包是必须的吧)这就是规范,接口也是一种规范,我只定规矩,你们来实现!!
      

  4.   

    举个例子吧!
    类A 中有个 star方法 
    类B中也有 !
    你就可以写个接口 中有star方法 然后AB都去实现这个接口 !
    按 楼主的说法却要写两遍这个方法!
    可以仔细看看 java编程思想!面向对象!