前段时间找工作,去面试,被几家公司问到这个问题,说实话,身为小菜鸟一只,这个问题还真没深究过,被问的晕晕乎乎。还号称是使用zf框架的,丢人啊,要知道,interface和abstract在zf里面可是随处可见啊。
今天总结一下下,欢迎大家补充拍砖。
1、抽象类需要继承,用extends,而接口需要实现,用implements;
2、一个类可以实现多个接口,但只能继承一个抽象类
3、接口中每个方法都只有声明而没有实现,其中的每个方法实现类必须要实现;而抽象类中只需要实现抽象方法,其它方法可以选择性的实现;
4、接口中只能声明public的方法,不能声明private和protected的方法,不能对方法进行实现,也不能声明实例变量;但是抽象类中可以