接口(接口的声明与实现&接口与抽象类的不同&接口的意义与作用&接口的解耦合)

接口(JAVA中独有的)


关键字 interface

  • 接口中的属性都是公开静态常量
  • 接口中的方法都是公开抽象方法
  • 接口中没有构造方法

实现(继承)接口的关键字 implements

  • 一个类实现接口,如果这个类不想成为抽象类,就必须实现接口中的所有抽象方法

接口和抽象类的不同?

  • 接口之间可以多继承
  • 一个类在继承另外一个类的同时,还能实现多个接口(如果这个类不想成为抽象类,就必须实现父类和接口中所有的抽象方法)(子类对象赋值给父类引用,也可以赋值个接口的引用。根据引用的不同可以调用接口中不同的方法)

定义接口的意义和作用?

  • 接口可以实现多继承,(生活中的事物,也是多继承的关系。使用多继承,贴近生活)

  • 一个类的引用可以强转赋值给没有实现的接口,编译会通过。原因是接口之间是多继承关系。编译器认为强转是有成功的可能。因此会编译通过(拿父子类来说,父类的引用强转为子类的引用是可以编译通过的,原因是两个类是父子类关系,编译器认为强转有可能会成功。而如果两个类不是父子类关系,则不会编译通过,没有强转成功的可能。)

    因此强转的两种类型中,有一个是接口,那么强转代码一定会编译通过(原因是接口是多继承关系,代码有成功的可能)

  • JAVA是单继承,理论上并不支持多继承。而接口只是一个次要的类。并不会影响java单继承的简单性。


接口的解耦合

  • 接口是一个标准,在接口中只规定了实现这个接口需要实现哪些方法,对实现并没有约定。
  • 接口是一个标准,标准出现的原因是对象与对象之间的解耦合;产生解耦合就必须遵循标准 (耦合表示两个对象之间联系的紧密程度,强耦合说明关系紧密,弱耦合说明关系松散)
  • 接口作为标准,接口的使用者和接口的实现者分离,从而实现弱耦合。(也使JAVA对数据库的依懒性减少)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值