AnimalPlayer既然这是一个抽象类,那抽象方法是不是应该要写成像接口中抽象方法一样的格式呢? abstract void sprintAbility() { }写成接口的话public,abstract这两个关键字写与不写是一样的,但是抽象类不一样 ,应将以上代码改成public abstract void sprintAbility() ;你的第二个问题我看不懂 ---如果不强制转换成Dog类型,就没有接口的方法,--------这个什么意思?