继承和接口有相似的地方,二者都是对类的抽象但是什么时候用继承什么时候用接口?
接口相当于对继承的扩展,但又不全是。在网上有个很好的例子,哺乳动物和卵生动物都继承自动物,狮子和兔子继承自哺乳动物 ,蛇继承自卵生动物他们都会喝水,农夫何以给这些动物喂水,但是现在又要给狮子和蛇加上捕猎的方法怎么办呢?是不是又要写一个肉食动物但是Java又不支持多继承啊,如果仅仅对蛇和狮子单独加个狩猎的方法,那么农夫在调用捕猎方法的时候只能单独new狮子和蛇,而不是动物的抽象。这个时候就用的接口单独给狮子和蛇加上个捕猎的接口,这样就满足我们的想法。Java不支持多继承但支持多接口