抽象类和接口的区别

首先从4个方面来讲:

    1.成员变量:抽象类的成员变量是普通变量

                        接口的成员变量是公共静态常量

    2.构造方法:抽象类有构造方法,但是不能实例化

                         接口没有构造方法,也不能是实例化

    3.成员方法:抽象类的方法可以有抽象方法,也可以没有抽象方法

                          接口的方法默认是public abstract 修饰

                          接口JDK8后有静态方法和default 方法,子实现类默认实现default方法

                          JDK9后添加私有方法,用于方法的抽取

     4.继承关系:抽象类只能单继承类,不能多继承

                           接口可以多继承接口

小结:抽象类是重构的结果,接口是设计的结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。