美文网首页
接口的定义与使用

接口的定义与使用

作者: 半心人6 | 来源:发表于2017-11-26 22:20 被阅读0次

引出:抽象类与普通类最大的特点是约定了子类的实现要求,但是抽象类是单继承,如果我们要求约定子类而且避免单继承的局限就需要实现接口,在以后的开发设计:接口优先,既可以使用抽象类,又可以使用接口。

概念:接口就是我们抽象方法与全局常量的集合,在java中使用interface ,因为接口与类的命名要求相同,这个时候我们可以在接口名字前面追加 I.

接口的组成:全局常量与抽象方法

1.如果我们的子类想使用接口,那么我们必须使用implems关键字实现,一个子类可以实现多个接口,也就是可以用接口实现多继承,

使用:对于接口的子类(如果不是抽象类),则必须覆写接口中的全部抽象方法。利用子类的向上转型通过实例化子类来得到接口的实例化

接口的实例化:接口是特殊的类,当一个子类继承了多个接口之后,接口对象通过子类进行实例化,那么父接口之间是可以互相转换的,但是依附于子类,通过子类实例化之后可以互相转换,子类不实例化,不能进行转换,所有子类接口可以实现多个接口的操作

接口的使用限制:接口一旦定义完成,就需要一个核心的说明,那么首先说明的是,接口里面只允许有public权限,也就是说不管是属性与方都用public

2.有意义接口之中只是全局常量与全局方法,一般加public  与abstric 99%的接口只会提供抽象方法,很少在接口里面有全局常量,

3.当一个类需要实现接口又要继承抽象类的时候,先使用extends继承一个抽象类,而后在使用implenments实现多个接口,在抽象类名称之前加abstract

4.一个抽象类可以使用implements实现多个接口,但是接口不能够去继承抽象类

5.一个接口可以使用extends来继承多个父接口,接口多继承

6.接口可以定义一系列的内部接口,包括内部的普通类,内部抽象类,内部接口,其中使用static定义的内部接口就相当于外部接口

接口的应用:定义标准:三大核心应用:

1.定义操作标准

2.表示能力

3.在分布式开发之中 暴露远程服务方法

。使用对象的接口和对象的多态性结合,对参数的统一更加统一而且可以发现接口是设计在类之上的设计

接口的设计模式----工厂设计模式(添加另外还有两种重要的模式,代理模式,单例模式)

如果我们客户端不想改变又能改变功能,那么我们添加第三方,修改第三方,不影响客户端的使用,使用Factory

总结:只要编写的接口,如果要想取得接口的实例化对象:第一反应写工厂类

相关文章

  • 四、Groovy语法(四)面向对象

    Groovy面向对象 一、groovy中类,接口等的定义和使用 类的定义与使用 接口的定义与使用 Trait的定义...

  • Gradle 自我学习四-Groovy 语法之面向对象

    Groovy面向对象 一、groovy中类,接口等的定义和使用 类的定义与使用 接口的定义与使用 Trait的定义...

  • java动态代理与CGLib代理示例代码

    被代理服务接口定义与实现 接口定义 服务实现 动态代理类 使用 CGLib代理 使用

  • Kotlin基础(4)-接口

    前言 本文简要介绍一下kotlin中接口的使用 接口的定义 测试结果 Kotlin中的接口定义与Java的接口定义...

  • [转]Android 接口定义语言 (AIDL)

    Android 接口定义语言 (AIDL) Android 接口定义语言 (AIDL) 与您可能使用过的其他接口语...

  • 接口的定义与使用

    抽象类与普通类相比最大的特点是约定了子类的实现要求,但是抽象类有一个缺点:单继承局限,如果要想约定子类的实现要求以...

  • 接口的定义与使用

    引出:抽象类与普通类最大的特点是约定了子类的实现要求,但是抽象类是单继承,如果我们要求约定子类而且避免单继承的局限...

  • 接口的定义与使用

    接口的基本定义 抽象类与普通类相比最大的优势在于:可以实现对子类覆写方法的控制,但是在抽象类里面可能依然会保留有一...

  • 接口(interface)

    接口的使用 接口使用interface来定义。 Java中,接口和类是并列的结构。 如何定义接口,定义接口中的成员...

  • Kotlin 接口

    原文地址:Kotlin 接口 Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,...

网友评论

      本文标题:接口的定义与使用

      本文链接:https://www.haomeiwen.com/subject/qrslbxtx.html