抽象类和接口

来源:互联网 发布:淘宝服装模特摄影 编辑:程序博客网 时间:2024/05/21 10:05

抽象类和接口的比较

相同点:

            都不能实例化,都包含抽象方法

不同点:

                 接口                                                  抽象类

       只能包含抽象方法                                    可以包含普通方法

       只能定义静态常量属性                             可以定义普通属性

       不能定义静态方法                                    可以

       不能包含初始化块                                    可以

       不能包含构造器                                       可以

       多继承                                                     单继承

总结:

       接口中所以方法都是   public abstract

                 所以属性默认都是   public static final

       抽象类除了包含抽象方法之外,和普通类有三点区别:

1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

2)抽象类不能用来创建对象;

3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。


原创粉丝点击