抽象类是自底向上抽象出来的,接口则是自顶向下设计出来的。抽象类是对事物本身的抽象,比如猫类,狗类就可以抽象为动物类。接口是对行为的抽象,比如男人要吃饭,女人也要吃饭,吃饭就可以抽象为接口。抽象类表示的是这个对象是什么,接口表示的是这个对象能干什么。所以抽象类只能有一个子类,就比如猫和狗只能是动物类,而不能是非动物类。而教师或者学生可以实现多个接口。他们既可以吃饭也可以睡觉。