抽象类:
1.抽象类中的方法有抽象方法也有完整方法(带实体)
2.非抽象子类必须完全实现这个抽象中所有的抽象方法
3.抽象类不能实例化,意义在于被扩展
4.抽象类不必实现具体功能,由子类来完成
5.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义
抽象类和接口的区别:
1.抽象类可以有非抽象的方法,而接口的方法必须是抽象方法
2.一个类可以继承多个接口,而一个类只能继承一个抽象类
3.接口使用关键字implements进行,而抽象类采用extends进行
4.接口的抽象方法前不用也不能加abstract关键字,默认隐式就是抽象方法,也不能加final关键字来防止抽象方法的继承.而抽象类中抽象方法前则必须加上abstract表示显示声明为抽象方法
5.接口中的抽象方法默认是public的,也只能是public的,不能用private、protected修饰符修饰.而抽象类则可以。
6.当一个非抽象类继承抽象类时必须实现所有的抽象方法,而非抽象方法则不用,继承接口时必须实现接口的所有方法