接口与抽象类的区别 详细总结

----------------------------------------      在这里我总结了五点区别      ------------------------------------------



       区别一:           抽象类中可以存在非抽象的方法        VS       接口中的方法被默认的变成抽象方法,只要是定义了接口,接口中的方法 就全部变成了抽象类即使你不写 abstract  它也是抽象的方法    


        区别二:            实现抽象类的方法时, 如果方法是抽象的,子类必须重写抽象的方法. 如果方法不是抽象的, 子类可以选择继承         VS       实现了接口 就必须实现接口中的所有方法, 因为接口中的方法默认的全部都是抽象的方法    --------------所以这里可以说, 接口是抽象类的一种, 也可以说接口是抽象类的延伸


       区别三:            抽象类可以有私有的成员变量和成员方法           VS        接口中的方法全都被默认的修饰为: public  abstract   类型的方法


       区别四:            一个类只能继承一个抽象类                 VS         一个类可以实现多个接口  ,接口可以实现多继承   举例:interface display extends aa ,bb,cc ...等等    然后让类去实现 display的接口 就可以实现 display aa bb  cc接口


       区别五:         抽象类中的非抽象的方法可以选择继承          VS      接口中的方法必须全部被重写 ,并且全部是公有的public 方法.


 

---------------------------------------------以下图片仅供参考-----------------------------------------------------


接口与抽象类的区别 详细总结