面试题 汇总各大厂BAT面试题 经典题汇总 2020-05-03更新

1.抽象类和接口有什么区别?

 答:抽象类和接口很相似,有时候甚至可以互换,但是也有很大的区别。
        1.接口是公开的,不能有私有,抽象类可以有私有。
        2.如果一个类中有抽象方法,那么他必须是抽象类。
        3.接口中的所有方法都没有方法体。
        4.抽象类可以声明方法的存在而不去实现它
        5.抽象类的子类实现方法必须有相同或者更高级别的访问级别
        6.抽象类不能被实例化,可以创建一个对象指向其具体子类的一个实例
        7.抽象类的子类实现父类所有的抽象方法,否则他们也是抽象类
   **相同点:**
       1.都不能被实例化
       2.接口的实现类或者抽象类的子类只有实现了他们各自的方法后才能被实例化
  **不同点**
       1.接口只能定义方法,不能实现,抽象类可以
       2.关键字不同,抽象类是extend继承,接口是implements实现
       3.一个类可以实现多个接口,不能继承多个抽象类
       4.接口中的成员变量默认public static final,必须给初值,所有成员方法都是public abstract
          抽象类中的成员变量默认是default,也可以是其他的三个,抽象方法必须是抽象方法,前面加abstract

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java天下第1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值