抽象类和接口的区别

1.接口:

因为java不支持多继承,所以有接口,一个类只能继承一个父类,但是可以实现多个接口,接口本身也可以继承接口。

接口里面的成员变量默认都是私有变量(public static final)必须被初始化

接口里面的方法默认是public abstract类型的隐式声明

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

接口不能实现另外一个接口,但是可以继承多个接口

类如果实现了一个接口,那么必须实现接口里面的所有方法,否则类要被定义为抽象类


2.抽象类:

如果一个类被声明为abstract,该类不能生成对象,只能被继承

抽象方法必须存在在抽象类中

抽象类可以有一般的变量和方法

子类继承抽象类必须实现其中的抽象方法abstract void fangfa{ };


区别

1.接口和抽象类都不能被实例化

2.接口不包含构造方法,抽象类可以包含构造方法

3.接口只能包含抽象方法,抽象类可以包含普通方法

4.接口只能定义静态常量属性(public static final),抽象类既可以定义普通方法,也可以定义静态常量属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容