java面试题:接口与抽象类的区别——详解

接口与抽象类的区别

概述: 可以把接口看成是一种特殊的抽象类,他们两个的概念无非就是不断的从子类中抽取公共特征,将所有子类的公共特征全部抽取出来作为顶层父类。

区别

  • 方法:
    1)抽象类中可以有抽象方法和非抽象方法
    2)接口中所有的方法都是不需要实现的,但是jdk8之后允许定义默认方法实现,用default关键字修饰
  • 成员变量:
    1)抽象类中可以向一般类一样定义类成员变量,没有关键字修饰的限制
    2)接口中的成员属性默认都是final和static
  • 构造器
    1)抽象类中可以有构造器
    2)接口中没有构造器
  • 继承与实现
    1)抽象类不允许多继承,继承实现用extends关键字
    2)接口允许多继承,继承实现使用implement关键字
  • 和正常类的区别
    1)抽象类是不能被实例化的
    2)接口其实也不可以被实例化,但是实际上必须实例实现此接口的类对象
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值