java为什么要定义接口?

比如要定义一个‘人’类,要定义一个‘狗’类,他们都有‘吃饭’,‘睡觉’,‘走路’等等的动作,但是他们的方式又不同,这种情况就可以用接口来封装这些方法。