区别
接口:
不能实例化,可以继承多个,只能声明函数,没有实现,函数类型只能是public。
抽象类:
不能实例化,直接继承一个,可以声明函数,可以有具体实现,函数的修饰符可以是public、protect、final
作用:
根据特性,首先都是用来设计架构,规范代码流程的,都会有固定入口,根据参数访问不同的代码文件,实例化参数对应的类。在公共流程内调用相同函数名的方法。
接口没有函数的实现,意味继承者必须实现指定名称的函数。抽象类则不然,因为可以实现函数,所有可以将一些通用流程写成函数重用,继承者可以不用重写。跟接口比起来的不同是,就算没有重写函数程序也可以正常运行,不会报致命错误。