首页 > 编程知识 正文

抽象类和接口的区别是什么?,抽象类与接口的区别是什么

时间:2023-05-05 23:40:00 阅读:191367 作者:2898

1、接口

接口就是比“抽象类"还“抽象”的“抽象类”, 可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。接口是完全面向规范的,规定了-批类具有的公共方法规范。

从接口的实现者角度看,接口定义了可以向外部提供的服务。从接口的调用者角度看,接口定义了实现者能提供那些服务。

接口是两个模块之间通信的标准,通信的规范。如果能把你要设计的模块之间的接口定义好,就相当于完成了系统的设计大纲,剩下的就是添砖加瓦的具体实现了。大家在工作以后,做系统时往往就是使用“面向接口”的思想来设计系统。

接口和实现类不是父子关系,是实现规则的关系。比如:我定义一-个接口Runnable , Car实现它就能在地上跑, Train实现它也能在地上跑,飞机实现它也能在地上跑。就是说,如果它是交通工具,就定能跑,但是一定要实现Runnable接口。

接口就是一种契约、协议

声明格式:

[访问修饰符号] interface 接口name [extends 父接口1,父接口2] {常量定义:方法定义:}

1、访问修饰符:只能是public 或者默认
2、extends:接口支持多继承
3、接口中的属性只能是常量,默认就是public static finnal
4、接口中的方法默认是public abstract

要点:

1、接口不能实例化对象 可以用来声明引用变量的类型
2、一个类实现一个接口,那么必须实现这个接口中定义的所有方法,并且只能是public
3、jdk1.7以及之前 接口中只能有方法的定义 jdk1.8之后可以有default(虚拟扩展方法)和静态方法

2、 接口和抽象类的区别 接口抽象类不考虑java8中default方法的情况下,接口中是没有实现代码的实现抽象类中可以有普通成员方法 ,并且可以定义变量接口中的方法修饰符号 只能是public抽象类中的抽象方法可以有public,protected,default接口中没有构造方法可以有构造方法

接口和抽象类如何选择:

1、当我们需要一组规范的方法的时候,我们就可以用接口,在具体的业务中,来对接口进行实现,能达到以不变应对万变,多变的需求的情况我们只需要改变对应的实现类 。
2、如果多个实现类中有者相同可以复用的代码 这个时候就可以在实现类和接口之间,添加一个抽象类,把公共的代码抽出在抽象类中。然后要求不同实现过程的 子类可以重写抽象类中的方法,来完成各自的业务。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。