首页 > 其他 > 详细

抽象类和接口分别是什么以及它们的联系与区别

时间:2019-12-18 09:22:37      阅读:77      评论:0      收藏:0      [点我收藏+]

抽象类:

1.声明方法的存在而不去实现它的类叫做抽象类;

2.抽象类用于创建一个体现事物基本行为的类,并为该类声明方法,不能在该类中实现该类的情况;

3.抽象类不能被实例化,即抽象类不能创建abstract类的实例,可以创建变量,类型为抽象类,并让它指向子类的一个实例;

4.抽象类不能有抽象构造函数以及抽象静态方法;

5.抽象类的子类为其父类中的所有方法提供实现;

 

接口:

1.接口是抽象类的变体(是一种能力,是一种约定)

2.接口中所有方法都是抽象的;

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

4.实现类必须实现接口所有方法;

5.实现类可以实现多个接口;

6.一个接口不能实现另一个接口,可以继承多个接口;

接口中的变量都是静态常量;

 

两者相同点:

1.都代表系统的抽象层;

2.都不能被实例化;

3.都能包含抽象方法;

4.用于描述系统提供的服务,不必提供实现;

 

不同点:

1.在抽象类中可以为部分方法提供默认实现,接口只能包含抽象方法;

2.抽象类便于服用,接口便于代码维护;

3.一个类只能继承一个直接父类,却可以实现多个接口;

4.   1.8版本以后接口可以写普通方法及静态方法,普通方法用default修饰,静态方法不能私有;

抽象类和接口分别是什么以及它们的联系与区别

原文:https://www.cnblogs.com/liuxianjie/p/12058070.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!