java面试题(7)接口和抽象类的区别

1、基本回答(0-3年)

  • 抽象类中可以有实现类,而接口中的方法只能是public abstract;
  • 抽象类中的成员可以是各种各样的,而接口中的成员只能是public static final(即使成员声明的时候没有加上,系统也会默认自动加的)
  • 抽象类只能继承一个,接口可以多实现。

2、深入回答(3-5年)

  接口主要用于约束,约束类必须实现某些方法,而不会深入细节,去注意方法实现的具体方法。而抽象类主要是为了代码的复用,将多个相似的类抽象出共性方法组成一个类,抽象类首先是需要出现子类才能抽象出共性的抽象类,抽象类的实现代价比较大。

  接口的设计目的是为了对类的行为进行约束(接口只会限制实现类必须实现哪些方法,而不会限制实现类不能实现什么方法),也是提供一种机制,他只会限制行为的有无,但不会限制实现的方法。
  抽象类的设计目的是代码复用,他是在子类的基础上抽取出共性的方法。
  抽象是对类本质的抽象,接口是对行为的抽象。
  使用场景:当关注事物本质的时候使用抽象,当关注操作的时候使用接口。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值