抽象类和接口

abstract抽象

抽象类:被abstract修饰的类

抽象方法:被abstract修饰的方法

  • 没有方法体
  • 必须定义在抽象类中
注意 :
    1.抽象类不能实例化
    2.抽象类中可以定义 : 属性,构造器,功能,抽象方法...
    3.抽象方法必须定义在抽象类中(接口)
    4.抽象方法使用之前必须被重写
    5.抽象类需要根据具体子类对象进行使用 :
       具体子类 : 重写所有的抽象方法 + 按需新增
       抽象子类 : 按需重写 + 按需新增
    6.abstract不能与private,static,final与native一起使用
    7.多态 : 类的多态,抽象类的多态,接口多态

interface接口

特殊的抽象类,一般定义为抽象功能的集合

类和接口的区别:类只能单继承,接口可以多实现

接口的作用:提高代码的复用性,实现解耦(降低耦合度)

如何定义接口:

  • jdk1.7及之前:

    • 公共的静态的常量:public static final—>省略任意
    • 公共的抽象的方法:public abstract—>任意省略
  • jdk1.8新增:

    • 静态方法:通过接口名调用

    • 默认方法:显示通过default修饰

      ​ 通过实现类对象调用

  • jdk9新增:

    • 私有方法,在接口中的默认方法可以使用

接口使用注意事项:

  • 使用interface定义接口,使用class定义类

  • 接口不能实例化

  • implements实现接口,使用extends继承父类

  • 接口使用:通过具体的实现类对象调用

    • 具体实现类:重写所有的抽象方法 + 按需新增
    • 抽象实现类:按需重写 + 按需新增
  • 类只能单继承,接口可以多实现

  • 先继承父类后实现接口

  • 类与类之间:只能单继承

  • 接口与接口之间:可以多继承

  • 类与接口之间:只能类实现接口,可以多实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值