zoukankan      html  css  js  c++  java
  • java中的接口(J2SE入门7)

    Java中的接口

    接口是一种程序结构,是特殊的抽象类。接口中的方法必须都是公开的抽象方法(public abstract),接口中的属性都是公开静态常量(public static final)。

    声明一个接口用interface关键字,接口也是一种类型,编译之后也有生成相应字节码,他的声明规范也要符合类型的定义(一个源文件中只能有一个public interface,接口名和源文件名相同,有public interface,就不能在写public class了)接口中的属性可以不加修饰符,方法也不用加修饰符。

    接口也可以继承,但是只能由接口继承,在用类去继承时要换用implements关键字,这时类和接口也不叫做继承关系,而是实现关系,但其实质也是继承

    一个类可以继承也只能继承另外一个类,但是可以实现多个接口,其语法是在implements后面写接口名,多个接口以分隔。

    接口之间是可以多继承的,其语法和类的继承语法是相同的,在接口多继承时,在extends后写接口名如果要继承多个接口,接口名以分隔,接口的继承关系只是把其父接口中的抽象方法继承到子接口中。要实现接口就必须实现接口中的所有方法。

    一个类可以在继承一个类的同时,也可以实现一个或多个接口。采用接口就绕开了单继承限制

    接口类型也可以做为编译时类型使用,但其实际的运行时类型必须是完全实现接口的类的对象实例,这样就使多态变得很灵活了,

    注意:实现接口时,在实现(覆盖)抽象方法时,注意必须要在方法的返回值类型前加public修饰符。如果没有完全实现接口中的方法(编译器也会报错),那么这个类就只能够是个抽象类,不能创建对象。接口的是实质就是特殊的抽象类。接口没有构造方法

    接口的意义:
    1,接口可以实现多继承

    2,用接口可以实现混合类型(主类型,副类型),java中可以通过接口分出主次类型。主类型使用继承,副类型,使用接口实现

    3,接口进一步深化了标准的思想,接口本身就是一个标准,他起到了降低耦合性的作用,接口可以使方法的定义和实现相分离,也就是将接口的定义者和实现者相分离,接口也可以用于降低模块间或系统间的耦合性。针对接口编程可以屏蔽不同实现间的差异,看到的只是实现好的功能,

    接口:定义标准,
    接口的实现:实现标准
    接口的调用者:标准的使用
    针对接口编程原则,也就是按照标准实现。


    接口的回调:先有接口的定义(接口实现者),再有接口使用者,最后把接口的实现对象传入接口的使用者中,接口的使用者会通过接口来调用接口实现者的方法。

    接口的回调:接口的定义者定义好了标准,接口的使用者先写好了使用代码,接口的实现者写好实现之后把实现对象传入接口的使用者中。他调用接口中方法也就是掉用接口实现中的方法。这种过程叫做接口的回调。

    尽量使用接口类型作为编译时类型,尽量将抽取到的共性行为写在接口中。

    用若干个小接口取代一个大接口。(接口隔离原则)


    把一个类的功能作成接口,只暴露想暴露的方法,接口隔离原则可以实现更高层次的封装,针对的对象不同,暴露的方法也不同。

  • 相关阅读:
    Redis Info详解
    ABAP常用事务码
    ABAP区别CLEAR、REFRESH、FREE
    virtualbox安装增强功能时【未能加载虚拟光盘】
    https://www.safaribooksonline.com/home/
    图文教程教您蓝底照片更换成白底和红底的方法
    URAL1495. One-two, One-two 2(dp)
    URAL1513. Lemon Tale(dp)
    URAL1900 Brainwashing Device(dp)
    Codeforces Round #228 (Div. 1)B
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197234.html
Copyright © 2011-2022 走看看